Skip to content
This repository has been archived by the owner on Jun 4, 2023. It is now read-only.

can only connect from old OS #138

Closed
tbussmann opened this issue Mar 26, 2015 · 2 comments
Closed

can only connect from old OS #138

tbussmann opened this issue Mar 26, 2015 · 2 comments

Comments

@tbussmann
Copy link

When trying to connect from an iPad 2 with iOS 8.2 or iMac 10.9.5 (which hosts airsonos) the connection cannot be established. Verbose output underneath. When connecting from an iPhone 4S with iOS 6.1.3 (sic!) the connection is established and working fine. The version difference makes me believing Apple has changed a secret in the AirPlay protocol recently which airsonos (or the underlying libraries) do not support.

$ airsonos --version
0.1.1

$ airsonos --verbose
Searching for Sonos devices on network...
Setting up AirSonos for Büro {192.168.178.30:1400}
  nodetunes:server starting nodetunes server (Büro (AirSonos)) +0ms
  nodetunes:server broadcasting mdns advertisement (for port 5000) +20ms
  nodetunes:rtsp received method OPTIONS (CSeq: 0)
{ cseq: '0',
  'x-apple-device-id': '0xd49a20d0875e',
  'apple-challenge': 'L95zfHVp8AfTooFzPDMXUg==',
  'dacp-id': '2434E1587742326F',
  'active-remote': '1724338251',
  'user-agent': 'AirPlay/200.34.4' } +13s
  nodetunes:helper building challenge for L95zfHVp8AfTooFzPDMXUg== (ip: c0a8b217, mac: 545200e0141e) +1ms
  nodetunes:helper computed challenge: iEQyP449jgEK6ucla42a+IAEOSXfmpBQU0v12lYWTaG11HjNVk0xsa3mYF1vHHNoUuiLBnEZAjDC3MI5DWnWcfof04bcmkXko0X2fL4X9ifXYbDdrWX2CNBtaUi+Fu49gFRdNm4dmU5gHU54jolQX5ohWEpg2eRwCGFwCqrrqAbhgsJ9PlqfSjkgUf+Jz5K/hcpJapO0gQuwTELm/7HMgQf0ib6hNm5U7hWSOjuSi8OCY9dHi+IqVNiatEMrBGbrka89QuyStUTcAvVJ6W7SmxCrYzIQJYkieZUjgy/pSqQp5aj4fnLhIL0sqKQ2h637/LbeyjsLkIpc2BtYFkP3dg== +125ms

this was an unsuccessful attempt to connect via the system control panel selecting the sound output device. I got a could not connect message. The log looks similar from iOS 8. An successful attempt from iOS 6 looks like following:

$ airsonos --verbose
Searching for Sonos devices on network...
Setting up AirSonos for Büro {192.168.178.30:1400}
  nodetunes:server starting nodetunes server (Büro (AirSonos)) +0ms
  nodetunes:server broadcasting mdns advertisement (for port 5000) +20ms
  nodetunes:rtsp received method OPTIONS (CSeq: 0)
{ cseq: '0',
  'apple-challenge': '5Mt1ubnlBOQGp48XRdeSRQ==',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'user-agent': 'AirPlay/160.10' } +5s
  nodetunes:helper building challenge for 5Mt1ubnlBOQGp48XRdeSRQ== (ip: c0a8b217, mac: 545200d12364) +1ms
  nodetunes:helper computed challenge: 14dOLMxnKghzvFa65PLDLlRsDZKxth46IEeiASx2P5HIvlJF3MC6pYqWmW78aPhjNnigI5J4xZY1NtFG9SNQyLVfQ1Ap7gaMbq4K0YcE2Qe8WnBUlxAkt1h2u+d/i2jmuGN+8LwIg6bXw0uEPAodsuBP30FiYs3arnl42Nbz0pvl/W40imBxkLky078EtX0XPTayDTv6vfvBb13VM3WydWIlWyqQ0V95BTQ3f7vwbFJBioF3LW42KEoBq9BHN7n6EfPVAP62JHVTh7GIQDNOcby2zjUFe+TmXN8benAJ4O+gqGo0wehmo7RpDMXPDXBGlafH8EH0RxT3enX/Qp5ZVQ== +120ms
  nodetunes:rtsp received method ANNOUNCE (CSeq: 1)
{ 'x-apple-device-id': '0x68a86deb3009',
  'x-apple-client-name': 'iPhone von XXXXXXX',
  cseq: '1',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'content-type': 'application/sdp',
  'content-length': '617',
  'user-agent': 'AirPlay/160.10' } +70ms
  nodetunes:rtspmethods v=0
o=AirTunes 17746148272993859585 0 IN IP4 192.168.178.27
s=AirTunes
i=iPhone von Tobias Bußmann
c=IN IP4 192.168.178.27
t=0 0
m=audio 0 RTP/AVP 96
a=rtpmap:96 L16/44100/2
a=rsaaeskey:ftmulivOiiQO+hHKhRcIL8QUZbHlXg2Lo2khgCVRxdfh0R6Zb9qaftcsc9GdIVwTp3ThknDKm5n9dYV+JSxfgz0JdmWcHetatSm9hOFckZPdSLYNFeywywaigkMQ4uLare7ag4Umawxok6tUk1heVkzZlb/wF0EkHk3hKcpLqJpm2MNz4CIge/dDmBzO4HpUMh4gwMuX9GnNwqUikZC/61Q1gvqiZHmj5W/3aXDd2QQF7nZ5nCazbkFUM3xQDH++LnTC54PsQGJG9Q9f8pQ/9Aore7OjjaPjO63KqilelKFDcYoB1MCnrbkhG4af+wpYW7EopbFf4vWcbNHpPWPalQ==
a=aesiv:a7jN8tZeZegt86L1cpECLA==
a=min-latency:11025
a=max-latency:88200
 +0ms
  nodetunes:rtspmethods client name reported (iPhone von Tobias Bußmann) +92ms
  nodetunes:rtspmethods client considered connected +1ms
  nodetunes:rtsp received method SETUP (CSeq: 2)
{ transport: 'RTP/AVP/UDP;unicast;mode=record;timing_port=56447;events;control_port=61708',
  cseq: '2',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'user-agent': 'AirPlay/160.10' } +114ms
  nodetunes:rtp starting rtp servers +1ms
  nodetunes:rtspmethods setting udp ports (audio: 9214, control: 7894, timing: 9636) +1ms
  nodetunes:rtsp received method RECORD (CSeq: 3)
{ range: 'npt=0-',
  'x-apple-durations': 'b=7; c=26; au=190; an=210; sa=6; ss=0',
  cseq: '3',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'user-agent': 'AirPlay/160.10' } +5ms
  nodetunes:rtsp received method GET_PARAMETER (CSeq: 4)
{ cseq: '4',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'content-type': 'text/parameters',
  'content-length': '8',
  'user-agent': 'AirPlay/160.10' } +5ms
  nodetunes:rtspmethods uncaptured GET_PARAMETER method: volume +0ms
  nodetunes:rtsp received method SET_PARAMETER (CSeq: 5)
{ cseq: '5',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'content-type': 'text/parameters',
  'content-length': '20',
  'user-agent': 'AirPlay/160.10' } +7ms
  nodetunes:rtspmethods received text metadata (volume: -21.000000) +0ms
  nodetunes:rtsp received method SET_PARAMETER (CSeq: 6)
{ 'rtp-info': 'rtptime=3111733765',
  cseq: '6',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'content-type': 'application/x-dmap-tagged',
  'content-length': '186',
  'user-agent': 'AirPlay/160.10' } +205ms
  nodetunes:rtspmethods received metadata ({"mper":1503559802,"asal":"...Hits","asar":"Phil Collins","ascp":"Phil Collins","asgn":"Pop","minm":"In the Air Tonight","astn":15,"asdk":0,"caps":1,"astm":331116}) +1ms
  nodetunes:rtsp received method OPTIONS (CSeq: 7)
{ cseq: '7',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'user-agent': 'AirPlay/160.10' } +4s
  nodetunes:rtsp received method OPTIONS (CSeq: 8)
{ cseq: '8',
  'dacp-id': '2810BB133C67DDAB',
  'active-remote': '4113079377',
  'user-agent': 'AirPlay/160.10' } +5s
  nodetunes:rtsp received method OPTIONS (CSeq: 9)

looking through other Tickets here I see similar Log entries but no explanation yet...

@tbussmann
Copy link
Author

some more version / diag info:

$ brew info node
node: stable 0.12.1 (bottled), HEAD

$ airsonos --diagnostics
AirSonos Diagnostics
node version     v0.12.1
operating sys    darwin (x64)
ip address   192.168.178.23

from what I read in #113 may it be my node version is to new? What confuses me is that AirPlay is actually able to connect from iOS 6...

@stephen
Copy link
Owner

stephen commented Aug 9, 2015

node 0.12 support will land with stephen/nodetunes#32

See: #113

@stephen stephen closed this as completed Aug 9, 2015
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants