On 16-09 13:02, Martin Koenig wrote:
Hello,
Ngrep:
Hello,
ngrep dump:
#
U 2004/09/16 12:42:01.791105 4.5.6.156:5060 -> 1.2.3.67:5070
SIP/2.0 200 OK.
Via: SIP/2.0/UDP 1.2.3.67:5070;branch=z9hG4bK0a65d941.
From: "tpl-dev"
<sip:t02@example.com>;tag=0006283e0a68003a5a99de34-50ace3d6.
To: <sip:00358400589247@example.com>;tag=1c16103.
Call-ID: 0006283e-0a680037-0dc88799-351df346(a)1.2.3.67.
CSeq: 102 INVITE.
Contact: <sip:00358400589247@11.22.33.66;user=phone>.
Record-Route:
<sip:+358400589247@1.2.3.68:5070;ftag=0006283e0a68003a5a99de34-50ace3d6;lr>,
<sip:+358400589247@1.2.3.69:5070;ftag=0006283e0a68003a5a99de34-50ace3d6;lr>,
<sip:00358400589247@4.5.6.156;ftag=0006283e0a68003a5a99de34-50ace3d6;lr>.
Supported: em,timer,replaces,100rel.
Allow:
REGISTER,OPTIONS,INVITE,ACK,CANCEL,BYE,NOTIFY,PRACK,REFER,INFO,SUBSCRIBE.
Server: Audiocodes-Sip-Gateway-tpl_voip_gw1/v.4.20.354.574.
Content-Type: application/sdp.
Content-Length: 208.
.
v=0.
o=AudiocodesGW 49132 44576 IN IP4 11.22.33.66.
s=Phone-Call.
c=IN IP4 11.22.33.66.
t=0 0.
m=audio 6000 RTP/AVP 8 96.
a=rtpmap:8 pcma/8000.
a=rtpmap:96 telephone-event/8000.
a=fmtp:96 0-15.
a=ptime:20.
#
U 2004/09/16 12:42:02.008739 1.2.3.67:5070 -> 4.5.6.156:5060
ACK
sip:00358400589247@4.5.6.156:5060;ftag=0006283e0a68003a5a99de34-50ace3d6;lr
SIP/2.0.
Via: SIP/2.0/UDP 1.2.3.67:5070;branch=z9hG4bK2c7403dc.
From: "tpl-dev"
<sip:t02@example.com>;tag=0006283e0a68003a5a99de34-50ace3d6.
To: <sip:00358400589247@example.com>;tag=1c16103.
Call-ID: 0006283e-0a680037-0dc88799-351df346(a)1.2.3.67.
CSeq: 102 ACK.
User-Agent: CSCO/7.
Route:
<sip:+358400589247@1.2.3.69:5070;ftag=0006283e0a68003a5a99de34-50ace3d6;lr>,
<sip:+358400589247@1.2.3.68:5070;ftag=0006283e0a68003a5a99de34-50ace3d6;lr>,
<sip:00358400589247@11.22.33.66:5060;user=phone>.
Content-Length: 0.
.
#
U 2004/09/16 12:43:55.175413 1.2.3.67:5070 -> 4.5.6.156:5060
BYE
sip:00358400589247@4.5.6.156:5060;ftag=0006283e0a68003a5a99de34-50ace3d6;lr
SIP/2.0.
Via: SIP/2.0/UDP 1.2.3.67:5070;branch=z9hG4bK6c7c16c5.
From: "tpl-dev"
<sip:t02@example.com>;tag=0006283e0a68003a5a99de34-50ace3d6.
To: <sip:00358400589247@example.com>;tag=1c16103.
Call-ID: 0006283e-0a680037-0dc88799-351df346(a)1.2.3.67.
CSeq: 103 BYE.
User-Agent: CSCO/7.
Content-Length: 0.
Route:
<sip:+358400589247@1.2.3.69:5070;ftag=0006283e0a68003a5a99de34-50ace3d6;lr>,
<sip:+358400589247@1.2.3.68:5070;ftag=0006283e0a68003a5a99de34-50ace3d6;lr>,
<sip:00358400589247@11.22.33.66:5060;user=phone>.
.
end dump
1.2.3.67 is the cisco 7960
4.5.6.156 is the local proxy
1.2.3.68 and .69 are proxies along the way
11.22.33.66 is the pstn gateway
As you can see, the cisco receives an ok with record route header field, the
last entry 4.5.6.156:5060. Contact 11.22.33.66:5060 is the Gateway.
In my understanding for proper loose routing the ACK and also the following
bye should be sent like this:
ACK sip:00358400589247@11.22.33.66:5060 (the final destination)
Route:
<sip:00358400589247@4.5.6.156:5060;lr>,<sip:+358400589247@1.2.3.69:5070;lr>,
<sip:+358400589247@1.2.3.68:5070;lr>
Which is the reverse order of the record route from the 200 ok.
But instead the Cisco sends:
ACK sip:00358400589247@4.5.6.156:5060 (the next hop)
Route:
<sip:+358400589247@1.2.3.69:5070;lr>,<sip:+358400589247@1.2.3.68:5070;lr>,
<sip:00358400589247@11.22.33.66:5060> (the final destination).
This looks like strict routing to me.
Yes that is correct, it implements strict routing (properly), there is
nothing wrong with it, the proxy server can detect it and handle the
message properly. Loose routers are backwards compatible with strict
routers.
Jan.