Hi Benko,
not sure what is the problem? isn't the redirect contact correct??
doesn't
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@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@otherproxydomain.org>;tag=as784d1ec2. To:
<sip:4989111111@proxydomain.org>.
Contact:<sip:089222222@21x.xxx.xxx.97>.
Call-ID:7fc122590665124f347fb2d956ba4c07@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@otherproxydomain.org>;tag=as784d1ec2. TO:
<sip:4989111111@proxydomain.org>. CSEQ: 102 INVITE. CALL-ID:
7fc122590665124f347fb2d956ba4c07(a)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@otherproxydomain.org>;tag=as784d1ec2. TO:
<sip:4989111111@proxydomain.org>;tag=b3addacf4f. CSEQ: 102 INVITE.
CALL-ID: 7fc122590665124f347fb2d956ba4c07(a)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@proxydomain.org:5065;transport=TCP>.
.
##
T 2xx.xxx.xxx.x06:56669 -> 6x.xxx.xxx.x93:5060 [AP]
ACK sip:4989111111@proxydomain.org SIP/2.0.
Via: SIP/2.0/TCP 213.208.4.106;branch=z9hG4bK96db.2c3c0006.0.
From: "SIPPHONE1"
<sip:089222222@otherproxydomain.org>;tag=as784d1ec2. Call-ID:
7fc122590665124f347fb2d956ba4c07(a)otherproxydomain.org.
TO:<sip:4989111111@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@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(a)openser.org
http://openser.org/cgi-bin/mailman/listinfo/users