Hi, group:
I found a problem with sip-communicator to work with Asterisk as proxy by monitoring underlying sip interaction.
Once sip-communicator(56) initializes a call to destination(205) through Astersik(22), Asterisk responses with OK including SDP. “Connection Information” in SDP is Asterisk proxy’s IP address(22) instead of destination UAS’s IP(205), so Sip-communicator directly connects the Asterisk proxy(22) to send RTP information. Actually, in RFC3261, RTP stream should be delivered directly between UAC and UAS instead of proxy.
For Asterisk, it sends back one more Invite with SDP to UAC. It is in this SDP that includes UAS’s IP address ! But sip-communicator has started RTP with proxy since it got OK response with SDP including proxy IP.
When I use x-lite to initialize a call, it can handle this situation from Asterisk as:
SIP-COMMUNICATOR(56) initialize a call to x-lite(205) through Asterisk(22):
num 56(sip-communiator) 22(Asterisk) 205(X-lite)
Invite/SDP
1 |-------------------------->|
> >
2 | 407 Auth | |
><--------------------------| |
> > >
> ACK | |
3 |-------------------------->| |
> > >
> Invite(SDP/56) | |
4 |-------------------------->| Invite(SDP/22) |
> >----------------------->|
> Trying | |
5 |<--------------------------| |
> > >
> Ringing | |
6 |<--------------------------| |
> > ACK |
> OK(SDP/22) |<-----------------------|
7 |<--------------------------| |
> > Invite(SDP/56) |
> ACK |----------------------->|
8 |-------------------------->| |
> > >
> Invite(SDP/205) | |
9 |<--------------------------| |
> > ACK |
> Trying |<-----------------------|
10 |-------------------------->| |
> > >
> > >
> [ OK(SDP/56 ) ] | |
11 |-------------------------->| |
> > >
> [ ACK ] | |
12 |<--------------------------| |
> >
> >
> RTP |
>--------------------------------------------------->|
> RTP |
><---------------------------------------------------|
Aparently, x-lite starts RTP just after it gets Invite from Asterisk, at this time, Asterisk sends UAS IP in SDP, so x-lite can directly talk to UAS.
From above, this problem bay be:
. Asterisk doesn’t abide with RFC3261
. or, SIP-communicator mishandle this situation as a bug
Regarding the above problem, call can be done when both UAC and UAS are sip-communicator, at this situation, Asterisk proxy relay RTP session. However, it doesn’t work when ether UAC or UAS is sip-communicator.
If you can tackle this glitch, please update CVS codes, meanwhile, I’m working on it now.
Thanks
Paul
···
Express yourself instantly with MSN Messenger! MSN Messenger Download today it’s FREE!
To unsubscribe, e-mail: dev-unsubscribe@sip-communicator.dev.java.net
For additional commands, e-mail: dev-help@sip-communicator.dev.java.net