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@proxydomain.org:5065" - is this the correct behaviour or
should the UAs reply contain
"4989111111@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(a)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@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@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@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>.
.
##
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