I'm implementing the scenario shown below.
___ ______ / 0 \ ---/ \ | /_\ | ATA1 |---| ____ _ _ _ _ _____ ______/ | / \ / / / / \ / \ |---| FW |---| IP Net |---| CCM | | ____/ _/_/_/_/ _____/ | | | | | | | | --- --- / \ / \ |NAT| |SER| |-T | | | ___/ ___/
When calling between the CCM (Cisco CallManager) and the ATA, SER simply ignores the call ACK. The ACK looks like:
ACK sip:5559853979*sip1.mcm.net.mx=X.X.71.2+17081@X.X.81.92:5063 SIP/2.0 Via: SIP/2.0/UDP X.X.67.218:5060;branch=z9hG4bK29b2c750 From: "5559852600" sip:5559852600@X.X.67.218;tag=16781758 To: sip:5559853979@mcm.net.mx;tag=2602576443 Date: Tue, 30 Nov 2004 23:53:15 GMT Call-ID: fef8ed00-1da1612d-24d-da4334c8@X.X.67.218 Route: sip:5559853979@X.X.81.94;ftag=16781758;lr Max-Forwards: 70 CSeq: 101 ACK Content-Length: 0
The call flow:
CallManager SIP Server ATA | | | |-- INVITE -------->| | |<-- trying --------| | | |-- INVITE -------->| | |<-- Trying --------| | |<-- Ringing -------| |<-- Ringing -------| | | |<-- OK ------------| |<-- OK ------------| | |-- ACK ----------->| | | |<-- OK ------------| |<-- OK ------------| | |-- ACK ----------->| | | |<-- OK ------------| |<-- OK ------------| | |-- ACK ----------->| | | |<-- OK ------------| |<-- OK ------------| | |-- ACK ----------->| | | |<-- OK ------------| ......
My guess is that SER does not accept the URI "5559853979*sip1.mcm.net.mx=X.X.71.2+17081@X.X.81.92:5063" because it contains "*+=" signs ore something similar. When calling from ATA - ATA there is no preoblem because ATAs construct the ACK message different (URI and Rote flipped).
Any ideas?
Thanks in advance,
Jesus