[Telepathy] iChat A/V compatibility

Ivan Vučica ivucica at gmail.com
Wed May 5 13:39:23 PDT 2010


On 5. svi. 2010., at 15:23, Peter Saint-Andre wrote:

> On 5/5/10 7:05 AM, Will Thompson wrote:
>> On 05/05/10 11:31, Ivan Vučica wrote:
>>> Apparently, iChat on Mac does not exchange same capabilities bits as
>>> other A/V capable XMPP clients. Probably the underlying A/V protocol
>>> and codec is different from what is used elsewhere, too. Did anyone
>>> dig into what iChat does and try adding the capability into
>>> farsight/gabble?
>> 
>> I seem to recall someone saying that iChat sets up a SIP session for
>> A/V. (But this is just hearsay.)
> 
> My understanding is that iChat uses either SIP or something derived from
> SIP for its A/V signalling.
> 
> Peter


Almost none of my friends on contact list use iChat, so I barely got a friend to turn it on before he went to sleep. Sadly, iChat automatically negotiates TLS with the server and I didn't have time to reconfigure server to reject it.

However I did see some SIP (and related STUN traffic); or at least some traffic identified as such by Wireshark. Sadly I cannot see the XMPP traffic that created the connection. I'll try to remember to post some info, if you guys are interested. I'm a horrible reverse engineer when it comes to binary stuff, and I have absolutely no knowledge of how codecs and internet telephony works, though. If I can contribute through providing packet and traffic logs and testing, I'd be happy to do it.

Of course, only if someone wishes to waste some time on supporting iChat :-)

More info (from unencrypted sip/stun headers) -- I have somewhat anonymized the logs

From me:

Via: SIP/2.0/UDP IP.HAS.BEEN.OMITTED:16402;branch=z9hG4bK501d86970fd1f8ed
Max-Forwards: 70
To: "EMAIL.OMITTED at gmail.com9" <sip:user at 192.168.1.111:16402>
From: "ivucica at SERVER.OMITTED.hr8" <sip:user at 192.168.2.5:16402>;tag=462471572
Call-ID: 83f8f2f6-5883-11df-aea1-8e9601764012 at 192-168-2-5
CSeq: 1 INVITE
Contact: <sip:user at IP.HAS.BEEN.OMITTED:16402>;isfocus
User-Agent: Viceroy 1.4
Content-Type: application/sdp
Content-Length: 710

v=0
o=ivucica 0 0 IN IP4 IP.HAS.BEEN.OMITTED
s=ivucica at SERVER.OMITTED.hr8
c=IN IP4 IP.HAS.BEEN.OMITTED
b=AS:2147483647
t=0 0
a=hwi:17412:2:2260
a=iChatEncryption:NO
a=bandwidthDetection:YES
m=audio 16402 RTP/AVP 110 12 124 3 0
a=rtcp:16402
a=rtpmap:110 X-AAC_LD/22050
a=rtpmap:3 GSM/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:124 iLBC/8000
a=fmtp:124 mode=30
a=rtpID:2349124651
m=video 16402 RTP/AVP 123 126 34
a=rtcp:16402
a=rtpmap:123 H264/90000
a=rtpmap:126 X-H264/90000
a=rtpmap:34 H263/90000
a=fmtp:34 imagesize 1 rules 30:352:288
a=framerate:30
a=RTCP:AUDIO 16402 VIDEO 16402
a=fmtp:126 imagesize 0 rules 20:640:480:640:480:20
a=fmtp:123 imagesize 0 rules 20:640:480:640:480:20
a=rtpID:1645632791



Now received sip/stun traffic from udp:


SIP/2.0 100 Trying
Via: SIP/2.0/UDP IP.HAS.BEEN.OMITTED:16402;branch=z9hG4bK501d86970fd1f8ed
To: "EMAIL.OMITTED at gmail.com9" <sip:user at 192.168.1.111:16402>
From: "ivucica at SERVER.OMITTED.hr8" <sip:user at 192.168.2.5:16402>;tag=462471572
Call-ID: 83f8f2f6-5883-11df-aea1-8e9601764012 at 192-168-2-5
CSeq: 1 INVITE
User-Agent: Viceroy 1.4
Content-Length: 0

SIP/2.0 180 Ringing
Via: SIP/2.0/UDP IP.HAS.BEEN.OMITTED:16402;branch=z9hG4bK501d86970fd1f8ed
To: "EMAIL.OMITTED at gmail.com9" <sip:user at 192.168.1.111:16402>;tag=162373534
From: "ivucica at SERVER.OMITTED.hr8" <sip:user at 192.168.2.5:16402>;tag=462471572
Call-ID: 83f8f2f6-5883-11df-aea1-8e9601764012 at 192-168-2-5
CSeq: 1 INVITE
Contact: <sip:user at REMOTE.IP.WAS.OMITTED:16402>
User-Agent: Viceroy 1.4
Content-Length: 0

SIP/2.0 200 OK
Via: SIP/2.0/UDP IP.HAS.BEEN.OMITTED:16402;branch=z9hG4bK501d86970fd1f8ed
To: "EMAIL.OMITTED at gmail.com9" <sip:user at 192.168.1.111:16402>;tag=162373534
From: "ivucica at SERVER.OMITTED.hr8" <sip:user at 192.168.2.5:16402>;tag=462471572
Call-ID: 83f8f2f6-5883-11df-aea1-8e9601764012 at 192-168-2-5
CSeq: 1 INVITE
Contact: <sip:user at REMOTE.IP.WAS.OMITTED:16402>
User-Agent: Viceroy 1.4
Content-Type: application/sdp
Content-Length: 442

v=0
o=USERNAMEOMITTED 0 0 IN IP4 REMOTE.IP.WAS.OMITTED
s=ivucica at SERVER.OMITTED.hr8
c=IN IP4 REMOTE.IP.WAS.OMITTED
b=AS:2147483647
t=0 0
a=hwi:17412:2:2260
a=bandwidthDetection:YES
a=iChatEncryption:NO
m=audio 16402 RTP/AVP 110
a=rtcp:16402
a=rtpmap:110 X-AAC_LD/22050
a=rtpID:3434490873
m=video 16402 RTP/AVP 123
a=rtcp:16402
a=rtpmap:123 H264/90000
a=RTCP:AUDIO 16402 VIDEO 16402
a=fmtp:123 imagesize 0 rules 20:640:480:640:480
a=rtpID:1528821049



Now again sent from me:


ACK sip:user at 192.168.1.111:16402 SIP/2.0
Via: SIP/2.0/UDP IP.HAS.BEEN.OMITTED:16402;branch=z9hG4bK2baeed221cc1fcbb
Max-Forwards: 70
To: "EMAIL.OMITTED at gmail.com9" <sip:user at 192.168.1.111:16402>;tag=162373534
From: "ivucica at SERVER.OMITTED.hr8" <sip:user at 192.168.2.5:16402>;tag=462471572
Call-ID: 83f8f2f6-5883-11df-aea1-8e9601764012 at 192-168-2-5
CSeq: 1 ACK
User-Agent: Viceroy 1.4
Content-Length: 0




The rest appears to be video data. Again, sorry for not having XMPP data to share.

--
Regards,

Ivan Vučica





-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 4653 bytes
Desc: not available
URL: <http://lists.freedesktop.org/archives/telepathy/attachments/20100505/f5ba217c/attachment.bin>


More information about the telepathy mailing list