[Users] moved temporarily - different port, same host

Bogdan-Andrei Iancu bogdan at voice-system.ro
Thu Feb 22 10:36:37 CET 2007


Hi Benko,

the UAS must put in contact of 3xx exactly the address where the call 
should be re-routed. If the UAS want to re-receive the call but using 
different port/proot, it must use its IP in the host part.

regards,
bogdan

Benko wrote:
> Hello!
>
> Thanks for the fast answer. No, proxydomain.org points to
> 2xx.xxx.xxx.x06 which is the openser-host, 6x.xxx.xxx.x93 is the user
> agent. Is the reply from the UA wrong, should it contain it's own ip as
> redirect-contact?
>
> regards
> Christian
>
>
> On Wed, 21 Feb 2007 23:15:35 +0200
> Bogdan-Andrei Iancu <bogdan at voice-system.ro> wrote:
>
>   
>> Hi Benko,
>>
>> not sure what is the problem? isn't the redirect contact correct?? 
>> doesn't  proxydomain.org points to 6x.xxx.xxx.x93 ?
>>
>> if so, isn't enough to do t_relay() after get_redirects() in failure
>> route?
>>
>> regards,
>> bogdan
>>
>>
>>
>> Benko wrote:
>>     
>>> Hello!
>>>
>>> I'm having a issue with a 302 moved temporarily from a UA i want to
>>> attach to my proxy. The UA replies to a INVITE from the proxy with
>>> a 302 MOVED TEMPORARILY and i'm using "get_redirects" from the
>>> uac_redirect-module to extract the contact. However, i don't know
>>> how to continue from there as the domain part in the
>>> redirect-contact is the hostname of the proxy but the port is 5065
>>> and transport=TCP (see debug for details) and if i simply relay it,
>>> it would be relayed back to the proxy on the wrong port 5065.
>>>
>>> I guess i could use the request branch pseudo variable($br) and
>>> extract the port from it(or change the domain-part to the actual
>>> domain/ip of the UA and relay it), still i don't really know how to
>>> do it.
>>>
>>> This is the sip-trace of the relevant dialog part:
>>>
>>> 2xx.xxx.xxx.x06 is the openser-host, 6x.xxx.xxx.x93 is the useragent
>>>
>>> ######################################
>>> ####
>>> T 2xx.xxx.xxx.x06:56669 -> 6x.xxx.xxx.x93:5060 [AP]
>>> INVITE sip:4989111111 at proxydomain.org SIP/2.0.
>>> Record-Route:
>>> <sip:2xx.xxx.xxx.x06;transport=tcp;r2=on;lr;ftag=as784d1ec2>.
>>> Record-Route:
>>> <sip:2xx.xxx.xxx.x06;r2=on;lr;ftag=as784d1ec2>. Via:
>>> SIP/2.0/TCP 2xx.xxx.xxx.x06;branch=z9hG4bK96db.2c3c0006.0. Via:
>>> SIP/2.0/UDP 2xx.xxx.xxx.97:5060;branch=z9hG4bK52fef574;rport=5060.
>>> From: "SIPPHONE1"
>>> <sip:089222222 at otherproxydomain.org>;tag=as784d1ec2. To:
>>> <sip:4989111111 at proxydomain.org>. 
>>> Contact:<sip:089222222 at 21x.xxx.xxx.97>. 
>>> Call-ID:7fc122590665124f347fb2d956ba4c07 at sip.at.telgo.cc. 
>>> CSeq: 102 INVITE.
>>> User-Agent: MyMediaGW1. Max-Forwards: 69. Date: Wed, 21 Feb 2007
>>> 13:02:26 GMT. Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER,
>>> SUBSCRIBE, NOTIFY. Content-Type: application/sdp.
>>> Content-Length: 492.
>>> .
>>> v=0.
>>> o=root 14334 14334 IN IP4 2xx.xxx.xxx.97.
>>> s=session.
>>> c=IN IP4 2xx.xxx.xxx.97.
>>> t=0 0.
>>> m=audio 10380 RTP/AVP 0 8 18 4 3 97 111 5 10 7 110 101.
>>> a=rtpmap:0 PCMU/8000.
>>> a=rtpmap:8 PCMA/8000.
>>> a=rtpmap:18 G729/8000.
>>> a=fmtp:18 annexb=no.
>>> a=rtpmap:4 G723/8000.
>>> a=rtpmap:3 GSM/8000.
>>> a=rtpmap:97 iLBC/8000.
>>> a=rtpmap:111 G726-32/8000.
>>> a=rtpmap:5 DVI4/8000.
>>> a=rtpmap:10 L16/8000.
>>> a=rtpmap:7 LPC/8000.
>>> a=rtpmap:110 speex/8000.
>>> a=rtpmap:101 telephone-event/8000.
>>> a=fmtp:101 0-16.
>>> a=silenceSupp:off - - - -
>>> .
>>>
>>> #
>>> T 6x.xxx.xxx.x93:5060 -> 2xx.xxx.xxx.x06:56669 [AP]
>>> SIP/2.0 100 Trying.
>>> FROM:
>>> "SIPPHONE1"<sip:089222222 at otherproxydomain.org>;tag=as784d1ec2. TO:
>>> <sip:4989111111 at proxydomain.org>. CSEQ: 102 INVITE. CALL-ID:
>>> 7fc122590665124f347fb2d956ba4c07 at otherproxydomain.org.
>>> MAX-FORWARDS: 70. VIA: SIP/2.0/TCP
>>> 2xx.xxx.xxx.x6;branch=z9hG4bK96db.2c3c0006.0,SIP/2.0/UDP
>>> 2xx.xxx.xxx.97:5060;branch=z9hG4bK52fef574;rport=5060. 
>>> CONTENT-LENGTH: 0. 
>>> .
>>>
>>> ##
>>> T 6x.xxx.xxx.x93:5060 -> 2xx.xxx.xxx.x06:56669 [AP]
>>> SIP/2.0 302 Moved Temporarily.
>>> FROM:
>>> "SIPPHONE1"<sip:089222222 at otherproxydomain.org>;tag=as784d1ec2. TO:
>>> <sip:4989111111 at proxydomain.org>;tag=b3addacf4f. CSEQ: 102 INVITE.
>>> CALL-ID: 7fc122590665124f347fb2d956ba4c07 at otherproxydomain.org.
>>> MAX-FORWARDS: 70. VIA: SIP/2.0/TCP
>>> 2xx.xxx.xxx.x06;branch=z9hG4bK96db.2c3c0006.0,SIP/2.0/UDP
>>> 213.208.4.97:5060;branch=z9hG4bK52fef574;rport=5060. 
>>> CONTENT-LENGTH: 0.
>>> SERVER: RTCC/2.0.6017.0. 
>>> CONTACT: <sip:4989111111 at proxydomain.org:5065;transport=TCP>. 
>>> .
>>>
>>> ##
>>> T 2xx.xxx.xxx.x06:56669 -> 6x.xxx.xxx.x93:5060 [AP]
>>> ACK sip:4989111111 at proxydomain.org SIP/2.0.
>>> Via: SIP/2.0/TCP 213.208.4.106;branch=z9hG4bK96db.2c3c0006.0.
>>> From: "SIPPHONE1"
>>> <sip:089222222 at otherproxydomain.org>;tag=as784d1ec2. Call-ID:
>>> 7fc122590665124f347fb2d956ba4c07 at otherproxydomain.org. 
>>> TO:<sip:4989111111 at proxydomain.org>;tag=b3addacf4f. CSeq: 102
>>> ACK. User-Agent: OpenSer (1.1.0-tls (i386/linux)).
>>> Content-Length: 0.
>>> .
>>>
>>> ######################################
>>>
>>>
>>> Either i'm lacking understanding of the openser functionalities and
>>> sip redirect in general and simply don't see how this could be
>>> accomplished easier or i guess i need to grab
>>> "sip:4989111111 at proxydomain.org:5065;transport=TCP" and extract the
>>> right port and protocol from it to relay it correctly(don't know how
>>> to do that though), i'm not sure. Currently i'm using a simple 
>>> t_relay("tcp:6x.xxx.xxx.x93:5065");
>>> to get it working, but i'd like to implement it in a more generic
>>> way.
>>>
>>> thx for all answers!
>>>
>>> best regards
>>> christian
>>>
>>> _______________________________________________
>>> Users mailing list
>>> Users at openser.org
>>> http://openser.org/cgi-bin/mailman/listinfo/users
>>>
>>>   
>>>       
>
>   





More information about the Users mailing list