[Users] moved temporarily - different port, same host

Benko benkokakao at gmail.com
Thu Feb 22 10:46:54 CET 2007


Good Morning!

Guess my debug was a bit confusing with so many domains and
ip-adresses, i'll try to explain it better:

The invite is started from a phone registered on a different
openser-proxy (otherproxydomain.org), goes via this
otherproxydomain.org-openser and a mgw (2xx.xxx.xxx.97, MyMediaGW1) to
the test-openser (proxydomain.org, 2xx.xxx.xxx.x06) which changes the
prot to tcp and sends it to the UA (6x.xxx.xxx.x93). 
2xx.xxx.xxx.97 and otherproxydomain.org are not relevant actually,
the interesting hosts are 2xx.xxx.xxx.x06 and 6x.xxx.xxx.x93 where the
main transaction(protocol change to tcp, avp-lookups) and the "rebounce"
of the "302" should happen.

I'm not sure if my understanding of how it should work is correct: 
The UA answers with a 302 and a CONTACT-field of
"4989111111 at proxydomain.org:5065" - is this the correct behaviour or
should the UAs reply contain
"4989111111 at 6x.xxx.xxx.x93:5065" in the CONTACT-field so it can be
relayed without further modification?
If the latter is true, i guess i'll have to modify the INVITE so the UA
can answer correctly?! I'm happy with a raw guideline of how it should
happen and which tools to use, i'm just not sure what is wrong in the
first place.

thx
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 otherproxydomain.org. 
> > 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>. 
> > .
> >
> > ##
> > 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 sr-users mailing list