Help us solving the AirPlay issue when using iOS7 devices

  Thread Rating:
  • 6 Votes - 4.33 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Post Reply
bradvido88 Offline
Donor
Posts: 796
Joined: Nov 2008
Reputation: 9
Location: MN
Post: #61
Testbuild1 on Windows x64

1. Which iDevice from Apple are you using (iPad2, iPad3, iPhone4s and so on)
iPhone 4s

2. Which exact iOS version are you running on that device (e.x. 7.0.4)
7.0.3

3. Does XBMC show up as an audio only target in the airplay selection (speaker symbol)
No

4. Or does XBMC show up as full target in the airplay selection (monitor symbol)
Yes

5. If the latter - does airplaying videos work? (please use the youtube.app for testing - don't post issues with other video apps for now)
Yes (YouTube works great -- other apps I tested (TED and Amazon) do not work.

6. Does airplaying pictures work? (use the photo app or the camera roll please for this test)
Yes

7. Does airplaying music work? (don't post if the music stutters or what - as long as the music comes out of XBMC - it is considered "working"
Yes (volume control also works and music info shows up with thumbnail -- except for the first song played)

XBMC.MyLibrary (add anything to the library)
ForTheLibrary (Argus TV & XBMC Library PVR Integration)
SageTV & XBMC PVR Integration
find quote
Axuttaja Offline
Junior Member
Posts: 34
Joined: Jan 2014
Reputation: 0
Post: #62
(2014-01-07 21:12)bradvido88 Wrote:  Testbuild1 on Windows x64

1. Which iDevice from Apple are you using (iPad2, iPad3, iPhone4s and so on)
iPhone 4s

2. Which exact iOS version are you running on that device (e.x. 7.0.4)
7.0.3
...

Dear bradvido88, could you test some of the other testbuilds too, for comparising the results.
It would help. Please? Smile

(2013-12-19 14:18)Memphiz Wrote:  Broadcast - re-broadcast - what are you talking about - seriously?

"Broadcast" is the AirServer term for announcment
(This post was last modified: 2014-01-07 22:13 by Axuttaja.)
find quote
pette Offline
Junior Member
Posts: 37
Joined: Dec 2013
Reputation: 0
Post: #63
Broadcast from airserver:

Code:
0000   01 00 5e 00 00 fb 30 85 a9 3f b5 dd 08 00 45 00  ..^...0..?....E.
0010   02 24 1b e6 00 00 ff 11 fb 34 c0 a8 01 0a e0 00  .$.......4......
0020   00 fb 14 e9 14 e9 02 10 a4 cf 00 00 84 00 00 00  ................
0030   00 08 00 00 00 04 04 48 54 50 43 08 5f 61 69 72  .......HTPC._air
0040   70 6c 61 79 04 5f 74 63 70 05 6c 6f 63 61 6c 00  play._tcp.local.
0050   00 10 80 01 00 00 11 94 00 5e 1a 64 65 76 69 63  .........^.devic
0060   65 69 64 3d 33 31 3a 38 35 3a 41 39 3a 33 46 3a  eid=31:85:A9:3F:
0070   42 35 3a 44 44 13 66 65 61 74 75 72 65 73 3d 30  B5:DD.features=0
0080   78 31 30 30 30 32 39 66 66 10 6d 6f 64 65 6c 3d  x100029ff.model=
0090   41 70 70 6c 65 54 56 33 2c 32 09 72 68 64 3d 31  AppleTV3,2.rhd=1
00a0   2e 39 2e 34 0e 73 72 63 76 65 72 73 3d 31 35 30  .9.4.srcvers=150
00b0   2e 33 33 04 76 76 3d 31 09 5f 73 65 72 76 69 63  .33.vv=1._servic
00c0   65 73 07 5f 64 6e 73 2d 73 64 04 5f 75 64 70 c0  es._dns-sd._udp.
00d0   1f 00 0c 00 01 00 00 11 94 00 02 c0 11 c0 11 00  ................
00e0   0c 00 01 00 00 11 94 00 02 c0 0c 11 33 31 38 35  ............3185
00f0   41 39 33 46 42 35 44 44 40 48 54 50 43 05 5f 72  A93FB5DD@HTPC._r
0100   61 6f 70 c0 1a 00 10 80 01 00 00 11 94 00 8f 0d  aop.............
0110   61 6d 3d 41 70 70 6c 65 54 56 33 2c 32 04 63 68  am=AppleTV3,2.ch
0120   3d 32 06 63 6e 3d 31 2c 33 07 64 61 3d 74 72 75  =2.cn=1,3.da=tru
0130   65 08 65 74 3d 30 2c 33 2c 35 08 6d 64 3d 30 2c  e.et=0,3,5.md=0,
0140   31 2c 32 08 70 77 3d 66 61 6c 73 65 09 72 68 64  1,2.pw=false.rhd
0150   3d 31 2e 39 2e 34 06 73 66 3d 30 78 34 08 73 72  =1.9.4.sf=0x4.sr
0160   3d 34 34 31 30 30 05 73 73 3d 31 36 08 73 76 3d  =44100.ss=16.sv=
0170   66 61 6c 73 65 06 74 70 3d 55 44 50 09 74 78 74  false.tp=UDP.txt
0180   76 65 72 73 3d 31 08 76 6e 3d 36 35 35 33 37 09  vers=1.vn=65537.
0190   76 73 3d 31 35 30 2e 33 33 04 76 76 3d 31 c0 8e  vs=150.33.vv=1..
01a0   00 0c 00 01 00 00 11 94 00 02 c0 d3 c0 d3 00 0c  ................
01b0   00 01 00 00 11 94 00 02 c0 c1 c0 0c 00 21 80 01  .............!..
01c0   00 00 00 78 00 0d 00 00 00 00 1b 58 04 68 74 70  ...x.......X.htp
01d0   63 c0 1f c0 c1 00 21 80 01 00 00 00 78 00 08 00  c.....!.....x...
01e0   00 00 00 c0 09 c1 a2 c1 a2 00 01 80 01 00 00 00  ................
01f0   78 00 04 c0 a8 01 0a c1 a2 00 2f 80 01 00 00 00  x........./.....
0200   78 00 05 c1 a2 00 01 40 c0 0c 00 2f 80 01 00 00  x......@.../....
0210   11 94 00 09 c0 0c 00 05 00 00 80 00 40 c0 c1 00  ............@...
0220   2f 80 01 00 00 11 94 00 09 c0 c1 00 05 00 00 80  /...............
0230   00 40                                            .@


Broadcast from XBMC:

Code:
0000   01 00 5e 00 00 fb 30 85 a9 3f b5 dd 08 00 45 00  ..^...0..?....E.
0010   03 49 25 b3 00 00 ff 11 f0 42 c0 a8 01 0a e0 00  .I%......B......
0020   00 fb 14 e9 14 e9 03 35 a5 f4 00 00 84 00 00 00  .......5........
0030   00 14 00 00 00 07 0b 58 42 4d 43 20 28 68 74 70  .......XBMC (htp
0040   63 29 05 5f 68 74 74 70 04 5f 74 63 70 05 6c 6f  c)._http._tcp.lo
0050   63 61 6c 00 00 10 80 01 00 00 11 94 00 01 00 09  cal.............
0060   5f 73 65 72 76 69 63 65 73 07 5f 64 6e 73 2d 73  _services._dns-s
0070   64 04 5f 75 64 70 c0 23 00 0c 00 01 00 00 11 94  d._udp.#........
0080   00 02 c0 18 c0 18 00 0c 00 01 00 00 11 94 00 02  ................
0090   c0 0c 0b 58 42 4d 43 20 28 68 74 70 63 29 0d 5f  ...XBMC (htpc)._
00a0   78 62 6d 63 2d 6a 73 6f 6e 72 70 63 c0 1e 00 10  xbmc-jsonrpc....
00b0   80 01 00 00 11 94 00 01 00 c0 35 00 0c 00 01 00  ..........5.....
00c0   00 11 94 00 02 c0 74 c0 74 00 0c 00 01 00 00 11  ......t.t.......
00d0   94 00 02 c0 68 0b 58 42 4d 43 20 28 68 74 70 63  ....h.XBMC (htpc
00e0   29 08 5f 61 69 72 70 6c 61 79 c0 1e 00 10 80 01  )._airplay......
00f0   00 00 11 94 00 4c 1a 64 65 76 69 63 65 69 64 3d  .....L.deviceid=
0100   33 30 3a 38 35 3a 41 39 3a 33 46 3a 42 35 3a 44  30:85:A9:3F:B5:D
0110   44 14 66 65 61 74 75 72 65 73 3d 30 78 31 30 30  D.features=0x100
0120   30 30 30 39 46 46 0c 6d 6f 64 65 6c 3d 58 62 6d  0009FF.model=Xbm
0130   63 2c 31 0e 73 72 63 76 65 72 73 3d 31 30 31 2e  c,1.srcvers=101.
0140   32 38 c0 35 00 0c 00 01 00 00 11 94 00 02 c0 b7  28.5............
0150   c0 b7 00 0c 00 01 00 00 11 94 00 02 c0 ab 18 33  ...............3
0160   30 38 35 41 39 33 46 42 35 44 44 40 58 42 4d 43  085A93FB5DD@XBMC
0170   20 28 68 74 70 63 29 05 5f 72 61 6f 70 c0 1e 00   (htpc)._raop...
0180   10 80 01 00 00 11 94 00 7d 09 74 78 74 76 65 72  ........}.txtver
0190   73 3d 31 06 63 6e 3d 30 2c 31 04 63 68 3d 32 04  s=1.cn=0,1.ch=2.
01a0   65 6b 3d 31 06 65 74 3d 30 2c 31 08 73 76 3d 66  ek=1.et=0,1.sv=f
01b0   61 6c 73 65 06 74 70 3d 55 44 50 08 73 6d 3d 66  alse.tp=UDP.sm=f
01c0   61 6c 73 65 05 73 73 3d 31 36 08 73 72 3d 34 34  alse.ss=16.sr=44
01d0   31 30 30 08 70 77 3d 66 61 6c 73 65 04 76 6e 3d  100.pw=false.vn=
01e0   33 07 64 61 3d 74 72 75 65 09 76 73 3d 31 33 30  3.da=true.vs=130
01f0   2e 31 34 08 6d 64 3d 30 2c 31 2c 32 09 61 6d 3d  .14.md=0,1,2.am=
0200   58 62 6d 63 2c 31 c0 35 00 0c 00 01 00 00 11 94  Xbmc,1.5........
0210   00 02 c1 4d c1 4d 00 0c 00 01 00 00 11 94 00 02  ...M.M..........
0220   c1 34 0b 58 42 4d 43 20 28 68 74 70 63 29 0c 5f  .4.XBMC (htpc)._
0230   78 62 6d 63 2d 65 76 65 6e 74 73 c0 47 00 10 80  xbmc-events.G...
0240   01 00 00 11 94 00 01 00 c0 35 00 0c 00 01 00 00  .........5......
0250   11 94 00 02 c2 04 c2 04 00 0c 00 01 00 00 11 94  ................
0260   00 02 c1 f8 c0 0c 00 21 80 01 00 00 00 78 00 0d  .......!.....x..
0270   00 00 00 00 00 50 04 68 74 70 63 c0 23 c0 68 00  .....P.htpc.#.h.
0280   21 80 01 00 00 00 78 00 08 00 00 00 00 23 82 c2  !.....x......#..
0290   4c c0 ab 00 21 80 01 00 00 00 78 00 08 00 00 00  L...!.....x.....
02a0   00 1b 58 c2 4c c1 34 00 21 80 01 00 00 00 78 00  ..X.L.4.!.....x.
02b0   08 00 00 00 00 8f 3a c2 4c c1 f8 00 21 80 01 00  ......:.L...!...
02c0   00 00 78 00 08 00 00 00 00 26 31 c2 4c c2 4c 00  ..x......&1.L.L.
02d0   01 80 01 00 00 00 78 00 04 c0 a8 01 0a c2 4c 00  ......x.......L.
02e0   2f 80 01 00 00 00 78 00 05 c2 4c 00 01 40 c0 0c  /.....x...L..@..
02f0   00 2f 80 01 00 00 11 94 00 09 c0 0c 00 05 00 00  ./..............
0300   80 00 40 c0 68 00 2f 80 01 00 00 11 94 00 09 c0  ..@.h./.........
0310   68 00 05 00 00 80 00 40 c0 ab 00 2f 80 01 00 00  h......@.../....
0320   11 94 00 09 c0 ab 00 05 00 00 80 00 40 c1 34 00  ............@.4.
0330   2f 80 01 00 00 11 94 00 09 c1 34 00 05 00 00 80  /.........4.....
0340   00 40 c1 f8 00 2f 80 01 00 00 11 94 00 09 c1 f8  .@.../..........
0350   00 05 00 00 80 00 40                             ......@


A bit different...

There is no good specification of the airplay protocol more than http://nto.github.io/AirPlay.html which seems to be outdated.

But what I could see from a first glance is the feature bits (as stated earlier) are differing. The XBMC announce packet is not as clean as airserver's. What are the things in the start of the packet?
find quote
Axuttaja Offline
Junior Member
Posts: 34
Joined: Jan 2014
Reputation: 0
Post: #64
(2014-01-07 23:07)pette Wrote:  Broadcast from airserver:
...

A bit different...

There is no good specification of the airplay protocol more than http://nto.github.io/AirPlay.html which seems to be outdated.

But what I could see from a first glance is the feature bits (as stated earlier) are differing. The XBMC announce packet is not as clean as airserver's. What are the things in the start of the packet?

There was this one software that could make those things human readable Bonjour Scanner? No, it was mentoined in some thread somewhere...

But sure thing is that the way XBMC is announcing very different than AppleTV 3
find quote
Memphiz Offline
Team-Kodi Developer
Posts: 11,045
Joined: Feb 2011
Reputation: 113
Location: germany
Post: #65
Its not about the announcement ... those testbuilds mimic the annonucement of other working solutions. That was what i was trying to explain - there must be something else beside the announcement. Those dumps are useless pette ... (what should i read there? binary crap? ^^). And yes you can see the decoded bonjour announcement via bonjourbrowser.

AppleTV2/iPhone/iPod: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for XBMC: Wiki NFS
HowTo configure avahi (zeroconf): Wiki Avahi
READ THE IOS FAQ!: iOS FAQ
find quote
Axuttaja Offline
Junior Member
Posts: 34
Joined: Jan 2014
Reputation: 0
Post: #66
(2014-01-07 23:30)Memphiz Wrote:  Its not about the announcement ... those testbuilds mimic the annonucement of other working solutions. That was what i was trying to explain - there must be something else beside the announcement. Those dumps are useless pette ... (what should i read there? binary crap? ^^). And yes you can see the decoded bonjour announcement via bonjourbrowser.

But but....

Have you had a look at the announcment yourself? I looked it earlier today and it was very different from the AirServer 4 announcment i had time to try...(i quess its copied right from an apple tv 2)

But yes it must be something wicked black magic.

That documentation i wasn't aware of is quite neat. Thanks!
Edit: i understand that i was using an obsolete version of AirServer, But I think the XBMC one missed some fields 0_o
(This post was last modified: 2014-01-07 23:47 by Axuttaja.)
find quote
Memphiz Offline
Team-Kodi Developer
Posts: 11,045
Joined: Feb 2011
Reputation: 113
Location: germany
Post: #67
I don't have airserver but the initial code we are working on here is from sam who copied the announcement from something like airserver or one of the other apps that work ... its the appletv3 announcement iirc.

AppleTV2/iPhone/iPod: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for XBMC: Wiki NFS
HowTo configure avahi (zeroconf): Wiki Avahi
READ THE IOS FAQ!: iOS FAQ
find quote
Axuttaja Offline
Junior Member
Posts: 34
Joined: Jan 2014
Reputation: 0
Post: #68
Then the zeroconf service must be broken... maybe? There was something on github that the windows one wasn't great...
But i can assure you that the announcment send by AirServer to bonjour browser was very different from the XBMC's one.
The bits,
And the protocoll version at least were different.
XBMC also missed some fields whole.

Could you look at the sams Announcment and make a exact replicate of it as a build 5?
find quote
pette Offline
Junior Member
Posts: 37
Joined: Dec 2013
Reputation: 0
Post: #69
Well perhaps binary crap, I don't think there's a reason to be rude, is there?

The announcements from XBMC actually stops after 3-4minutes, and does not come back (been running for 10minutes without announcements now).

Wireshark says nothing about any other communication between the IOS device and the target, Before the actual airplay begins...
find quote
Axuttaja Offline
Junior Member
Posts: 34
Joined: Jan 2014
Reputation: 0
Post: #70
Pette its just that since there is that easier way of Bonjour Browser why use hard to read binary.
Wireshark can't see it becouse it remains encrypted somehow? Idk...
Edit: im producing so bad text right now ... I need sleep.. Sleepy
(This post was last modified: 2014-01-08 00:12 by Axuttaja.)
find quote
Memphiz Offline
Team-Kodi Developer
Posts: 11,045
Joined: Feb 2011
Reputation: 113
Location: germany
Post: #71
@axuttaja read the first post of this thread . testbuild4 is the merge of testbuild1 and 2 which should bring you the featurebits and protocol version of what sam did. The thrid build was changing the name to AppleTV,3 or something. There is no build with all 3 in one because this thread was ment to find out which of those changes are really needed. In sams build users were basically telling the same like here - randomly non-working ...

@pette was not ment to be rude - was just a comment to a wireshark dump i can not load into wireshark the way it was presented...

AppleTV2/iPhone/iPod: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for XBMC: Wiki NFS
HowTo configure avahi (zeroconf): Wiki Avahi
READ THE IOS FAQ!: iOS FAQ
find quote
pette Offline
Junior Member
Posts: 37
Joined: Dec 2013
Reputation: 0
Post: #72
I think the packet itself is more interesting than a decoded variant, but perhaps that is just me....

There are some magics in this, like, why is AirServer adding +1 to the first deviceid byte? My mac address starts with 30 but AirServer announces 31 while xbmc announces 30.

A testbuild that mimics airservers (which is mimiced from appletv3 I guess) and keeps retransmitting the announcement packet (like AirServer does) with a determined interval would be good in imo.
find quote
PaulCarter Offline
Junior Member
Posts: 32
Joined: Jul 2011
Reputation: 0
Post: #73
@pette could you post the actual wireshark captures so I can load them into wireshark myself?
The iOS6 captures might also be useful.

thanks
find quote
pette Offline
Junior Member
Posts: 37
Joined: Dec 2013
Reputation: 0
Post: #74
Thing is that I have both IOS6 devices and IOS7 devices on the same network - but there are no communication between the target and devices. It's just the announcement packets...

I will post the logs later today when I get home!
find quote
Memphiz Offline
Team-Kodi Developer
Posts: 11,045
Joined: Feb 2011
Reputation: 113
Location: germany
Post: #75
You are saying that airserver retransmits the zeroconf announcement packets? Thats odd imo - but might be interesting.

AppleTV2/iPhone/iPod: HowTo find debug logs and everything else which the devs like so much: click here
HowTo setup NFS for XBMC: Wiki NFS
HowTo configure avahi (zeroconf): Wiki Avahi
READ THE IOS FAQ!: iOS FAQ
find quote
Post Reply