I think that SIP-Phones (Cisco 79xx, ATA186, ...) take a SIP Answer 183
(Session Progess) as 180 (Ringing) and the cisco gw does not do this.
Every call initiated by our cisco gw sends 183 (never 180). With
hairpinning we send 183 (comming from the gw) back to it, but the gw
does not interpret this as Ringing.
-----Ursprüngliche Nachricht-----
Von: serusers-bounces(a)iptel.org [mailto:serusers-bounces@lists.iptel.org] Im
Auftrag von Reinhard Hainz
Gesendet: Montag, 30. Juni 2003 10:50
An: 'Jiri Kuthan'; 'Andy Blen'; serusers(a)lists.iptel.org
Betreff: AW: AW: [Serusers] PRACK
Hi,
Ok, removeing 100rel does not solve my problem.
here the call flow (tcpdump - I replaced any customer related stuff):
10:25:46.000003 CISCO-GW.52786 > SER-SERVER.5060: udp 1036 [tos 0x68]
Eh.(.......u>c.1..<m.2.....mINVITE.sip:01xxxxxxx@SER-SERVER:5060.SIP/2.0
..Via:.SIP/2.0/UDP..IP-OF-CISCO-GW:5060..From:.<sip:0664xxxxxxx@IP-OF-CI
SCO-GW>;tag=43160C68-15DE..To:.<sip:01xxxxxxx@SER-SERVER>..Date:.Mon,.30
.Jun.2003.08:25:46.GMT..Call-ID:.4850167A-AA0B11D7-BB1AD53F-7B45CE33@IP-
OF-CISCO-GW..Supported:.timer,100rel..Min-SE:..1800..Cisco-Guid:.1213088
105-2852852183-3138901311-2068172339..User-Agent:.Cisco-SIPGateway/IOS-1
2.x..Allow:.INVITE,.OPTIONS,.BYE,.CANCEL,.ACK,.PRACK,.COMET,.REFER,.SUBS
CRIBE,.NOTIFY,.INFO..CSeq:.101.INVITE..Max-Forwards:.6..Remote-Party-ID:
.<sip:0664xxxxxxx@IP-OF-CISCO-GW>;party=calling;screen=yes;privacy=off..
Timestamp:.1056961546..Contact:.<sip:0664xxxxxxx@IP-OF-CISCO-GW:5060>..E
xpires:.180..Allow-Events:.telephone-event..Content-Type:.application/sd
p..Content-Length:.250....v=0..o=CiscoSystemsSIP-GW-UserAgent.3677.7191.
IN.IP4.IP-OF-CISCO-GW..s=SIP.Call..c=IN.IP4.IP-OF-CISCO-GW..t=0.0..m=aud
io.17580.RTP/AVP.18.3.8.0..a=rtpmap:18.G729/8000..a=fmtp:18.annexb=no..a
=rtpmap:3.GSM/8000..a=rtpmap:8.PCMA/8000..a=rtpmap:0.PCMU/8000..
10:25:46.119212 SER-SERVER.5060 > CISCO-GW.5060: udp 508 (DF) [tos 0x10]
E.....@.@.<...<m>c.1......&.SIP/2.0.100.trying.--.your.call.is.important
.to.us..Via:.SIP/2.0/UDP..IP-OF-CISCO-GW:5060..From:.<sip:0664xxxxxxx@IP
-OF-CISCO-GW>;tag=43160C68-15DE..To:.<sip:01xxxxxxx@SER-SERVER>..Call-ID
:.4850167A-AA0B11D7-BB1AD53F-7B45CE33@IP-OF-CISCO-GW..CSeq:.101.INVITE..
Server:.Sip.EXpress.router.(0.8.10.(i386/linux))..Content-Length:.0..War
ning:.392.IP-OF-SER-SERVER:5060."Noisy.feedback.tells:.pid=11070.req_src
_ip=IP-OF-CISCO-GW.in_uri=sip:01xxxxxxx@SER-SERVER:5060.out_uri=sip:0599
99xxxx(a)SER-SERVER.via_cnt==1"quot;....
10:25:46.238277 SER-SERVER.5060 > CISCO-GW.5060: udp 1276 (DF) [tos
0x10]
E.....@.@.9...<m>c.1.......{INVITE.sip:059999xxxx@PSTN.SIP/2.0..Record-R
oute:.<sip:059999xxxx@IP-OF-SER-SERVER;branch=0>..Record-Route:.<sip:01x
xxxxxx@IP-OF-SER-SERVER;branch=0>..Via:.SIP/2.0/UDP.IP-OF-SER-SERVER;bra
nch=z9hG4bK202c.d14ca635.0..Via:.SIP/2.0/UDP.IP-OF-SER-SERVER;branch=z9h
G4bK202c.c14ca635.0..Via:.SIP/2.0/UDP..IP-OF-CISCO-GW:5060..From:.<sip:0
664xxxxxxx@IP-OF-CISCO-GW>;tag=43160C68-15DE..To:.<sip:01xxxxxxx@SER-SER
VER>..Date:.Mon,.30.Jun.2003.08:25:46.GMT..Call-ID:.4850167A-AA0B11D7-BB
1AD53F-7B45CE33@IP-OF-CISCO-GW..Supported:.timer..Min-SE:..1800..Cisco-G
uid:.1213088105-2852852183-3138901311-2068172339..User-Agent:.Cisco-SIPG
ateway/IOS-12.x..Allow:.INVITE,.OPTIONS,.BYE,.CANCEL,.ACK,.PRACK,.COMET,
.REFER,.SUBSCRIBE,.NOTIFY,.INFO..CSeq:.101.INVITE..Max-Forwards:.4..Remo
te-Party-ID:.<sip:0664xxxxxxx@IP-OF-CISCO-GW>;party=calling;screen=yes;p
rivacy=off..Timestamp:.1056961546..Contact:.<sip:0664xxxxxxx@IP-OF-CISCO
-GW:5060>..Expires:.180..Allow-Events:.telephone-event..Content-Type:.ap
plication/sdp..Content-Length:.250..P-hint:.INODE-TO-PSTN....v=0..o=Cisc
oSystemsSIP-GW-UserAgent.3677.7191.IN.IP4.IP-OF-CISCO-GW..s=SIP.Call..c=
IN.IP4.IP-OF-CISCO-GW..t=0.0..m=audio.17580.RTP/AVP.18.3.8.0..a=rtpmap:1
8.G729/8000..a=fmtp:18.annexb=no..a=rtpmap:3.GSM/8000..a=rtpmap:8.PCMA/8
000..a=rtpmap:0.PCMU/8000..
10:25:46.250827 CISCO-GW.5060 > SER-SERVER.5060: udp 504 [tos 0x68]
Eh...M.....<>c.1..<m......t3SIP/2.0.100.Trying..Via:.SIP/2.0/UDP.IP-OF-S
ER-SERVER;branch=z9hG4bK202c.d14ca635.0,SIP/2.0/UDP.IP-OF-SER-SERVER;bra
nch=z9hG4bK202c.c14ca635.0,SIP/2.0/UDP..IP-OF-CISCO-GW:5060..From:.<sip:
0664xxxxxxx@IP-OF-CISCO-GW>;tag=43160C68-15DE..To:.<sip:01xxxxxxx@SER-SE
RVER>;tag=43160D64-2631..Date:.Mon,.30.Jun.2003.08:25:46.GMT..Call-ID:.4
850167A-AA0B11D7-BB1AD53F-7B45CE33@IP-OF-CISCO-GW..Timestamp:.1056961546
..Server:.Cisco-SIPGateway/IOS-12.x..CSeq:.101.INVITE..Allow-Events:.tel
ephone-event..Content-Length:.0....
10:25:48.635836 CISCO-GW.5060 > SER-SERVER.5060: udp 774 [tos 0x68]
Eh.".N.....->c.1..<m........SIP/2.0.183.Session.Progress..Via:.SIP/2.0/U
DP.IP-OF-SER-SERVER;branch=z9hG4bK202c.d14ca635.0,SIP/2.0/UDP.IP-OF-SER-
SERVER;branch=z9hG4bK202c.c14ca635.0,SIP/2.0/UDP..IP-OF-CISCO-GW:5060..F
rom:.<sip:0664xxxxxxx@IP-OF-CISCO-GW>;tag=43160C68-15DE..To:.<sip:01xxxx
xxx@SER-SERVER>;tag=43160D64-2631..Date:.Mon,.30.Jun.2003.08:25:46.GMT..
Call-ID:.4850167A-AA0B11D7-BB1AD53F-7B45CE33@IP-OF-CISCO-GW..Timestamp:.
1056961546..Server:.Cisco-SIPGateway/IOS-12.x..CSeq:.101.INVITE..Allow-E
vents:.telephone-event..Content-Type:.application/sdp..Content-Dispositi
on:.session;handling=required..Content-Length:.179....v=0..o=CiscoSystem
sSIP-GW-UserAgent.5940.9871.IN.IP4.IP-OF-CISCO-GW..s=SIP.Call..c=IN.IP4.
IP-OF-CISCO-GW..t=0.0..m=audio.17160.RTP/AVP.18..a=rtpmap:18.G729/8000..
a=fmtp:18.annexb=no..
10:25:48.636102 SER-SERVER.5060 > CISCO-GW.5060: udp 659 (DF) [tos 0x10]
E.....@.@.<G..<m>c.1......u.SIP/2.0.183.Session.Progress..Via:SIP/2.0/UD
P..IP-OF-CISCO-GW:5060..From:.<sip:0664xxxxxxx@IP-OF-CISCO-GW>;tag=43160
C68-15DE..To:.<sip:01xxxxxxx@SER-SERVER>;tag=43160D64-2631..Date:.Mon,.3
0.Jun.2003.08:25:46.GMT..Call-ID:.4850167A-AA0B11D7-BB1AD53F-7B45CE33@IP
-OF-CISCO-GW..Timestamp:.1056961546..Server:.Cisco-SIPGateway/IOS-12.x..
CSeq:.101.INVITE..Allow-Events:.telephone-event..Content-Type:.applicati
on/sdp..Content-Disposition:.session;handling=required..Content-Length:.
179....v=0..o=CiscoSystemsSIP-GW-UserAgent.5940.9871.IN.IP4.IP-OF-CISCO-
GW..s=SIP.Call..c=IN.IP4.IP-OF-CISCO-GW..t=0.0..m=audio.17160.RTP/AVP.18
..a=rtpmap:18.G729/8000..a=fmtp:18.annexb=no..
CANCEL
Reinhard
-----Ursprüngliche Nachricht-----
Von: Jiri Kuthan [mailto:jiri@iptel.org]
Gesendet: Samstag, 28. Juni 2003 00:31
An: Reinhard Hainz; 'Andy Blen'; serusers(a)lists.iptel.org
Betreff: Re: AW: [Serusers] PRACK
At 11:06 AM 6/27/2003, Reinhard Hainz wrote:
Hi,
the situation is more complicated.
The environemet:
A ... a "traditional" phone in the PSTN world
B ... an other "traditional" phone in PSTN
C ... a cisco gw connecting PSTN to IP (SIP)
D ... a SIP-Server (ser)
E ... a phone number configured in ser, that is forwared to the number
of B (using URI rewriting from ser)
The request flow is as follows:
1. A is connected (over PSTN) to C
2. C sends an INVITE to D (URI: E - this is the To-Header, too)
3. D rewrites the INVITE for E to an INVITE to B
4. D sends an INVITE to C for B (E is the record-route)
5. C sends both E a PRACK
6. D sends itself a PRACK for B (but i am not forwarding it)
The question is - why does cisco send this PRACK at all.
Cisco uses PRACK if the other party supports PRACK. With hairpinning,
when Cisco speaks to itself, it uses PRACK. The support is advertised
in Supported: 100rel. (We for example strip it away for snom phones
which screw up record routing if PRACK is turned on: replace("100rel,
", "");)
Wenn I use the
same configuration which IP-Phones only, then no PRACK are send.
That's because the phone does not advertise PRACK support.
At 5. the phone B rings (but no ring tone at A), and
after accepting
the
call at B the call is established and works.
Hard to guess why without seeing the call flows, in my opinion the
common
suspect is Cisco gatway here. Perhaps it gets confused by combination of
hairpinning and PRACK. If I was you, I would at least try stripping
100rel
away just out of curiosity to see if PRACK removal happens to avoid the
bug.
Send us network dumps if you don't move ahead -- we may try finding
oddities too.
-Jiri
_______________________________________________
Serusers mailing list
serusers(a)lists.iptel.org
http://lists.iptel.org/mailman/listinfo/serusers