here is more detailed info about the ack matching problem. rfc3261 says
this about ack to negative response to invite:

The ACK request constructed by the client transaction MUST contain
values for the Call-ID, From, and Request-URI that are equal to the
values of those header fields in the request passed to the transport by 
the client transaction (call this the "original request"). The To header
field in the ACK MUST equal the To 
header field in the response being acknowledged, and therefore will
usually differ from the To header field 
in the original request by the addition of the tag parameter. The ACK
MUST contain a single Via header 
field, and this MUST be equal to the top Via header field of the
original request. The CSeq header field in 
the ACK MUST contain the same value for the sequence number as was
present in the original request, but the method parameter MUST be equal
to “ACK”.

original invite request to sems:

User Datagram Protocol, Src Port: sip (5060), Dst Port: 5090 (5090)
Session Initiation Protocol
    Request-Line: INVITE sip:[email protected] SIP/2.0
    Message Header
        Record-Route: <sip:192.98.102.10;lr;ftag=vykuz;n1;pm>
        Via: SIP/2.0/UDP 
192.98.102.10;branch=z9hG4bK4c95.f2a619df283d9a9f0544eea034ec5945.0
        Via: SIP/2.0/UDP 192.98.102.10:5074;rport=5074;branch=z9hG4bKqdlcbwtx
        Max-Forwards: 69
        To: <sip:%2331%[email protected];user=phone>
        From: "Juha Heinanen" <sip:[email protected];user=phone>;tag=vykuz
        Call-ID: [email protected]
        CSeq: 439 INVITE
        Contact: <sip:[email protected]:5074;transport=udp;user=phone>
        Content-Type: application/sdp
        Allow: 
INVITE,ACK,BYE,CANCEL,OPTIONS,PRACK,REFER,NOTIFY,SUBSCRIBE,INFO,MESSAGE
        Supported: replaces,norefersub,100rel
        User-Agent: Twinkle/1.4.2
        Content-Length: 310
        P-App-Name: sbc
        P-App-Param: profile=test;du=sip:192.168.1.2:59425

response from sems:

Internet Protocol, Src: 127.0.0.1 (127.0.0.1), Dst: 192.98.102.10 
(192.98.102.10)
User Datagram Protocol, Src Port: 5090 (5090), Dst Port: sip (5060)
Session Initiation Protocol
    Status-Line: SIP/2.0 487 Request terminated
    Message Header
        Record-Route: <sip:192.98.102.10;lr;ftag=vykuz;n1;pm>
        Via: SIP/2.0/UDP 
192.98.102.10;branch=z9hG4bK4c95.f2a619df283d9a9f0544eea034ec5945.0;received=192.98.102.10
        Via: SIP/2.0/UDP 192.98.102.10:5074;rport=5074;branch=z9hG4bKqdlcbwtx
        To: 
<sip:%2331%[email protected];user=phone>;tag=5E5E47EC-4DC44505000E716C-B5DAFB70
        From: "Juha Heinanen" <sip:[email protected];user=phone>;tag=vykuz
        Call-ID: [email protected]
        CSeq: 439 INVITE
        Server: Sip Express Media Server (rexported (x86/linux))
        Content-Length: 0

ACK to sems:

Internet Protocol, Src: 192.98.102.10 (192.98.102.10), Dst: 127.0.0.1 
(127.0.0.1)
User Datagram Protocol, Src Port: sip (5060), Dst Port: 5090 (5090)
Session Initiation Protocol
    Request-Line: ACK sip:[email protected] SIP/2.0
    Message Header
        Via: SIP/2.0/UDP 
192.98.102.10;branch=z9hG4bK4c95.f2a619df283d9a9f0544eea034ec5945.0
        Max-Forwards: 69
        To: 
<sip:%2331%[email protected];user=phone>;tag=5E5E47EC-4DC44505000E716C-B5DAFB70
        From: "Juha Heinanen" <sip:[email protected];user=phone>;tag=vykuz
        Call-ID: [email protected]
        CSeq: 439 ACK
        Content-Length: 0

i have not been able to find anything wrong with the ack.  still sems
reports:

May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:591] DEBUG: Received new request
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:594] DEBUG: req.method = <ACK>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:597] DEBUG: req.r_uri = <sip:[email protected]>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:598] DEBUG: req.from_uri = 
<sip:[email protected];user=phone>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:599] DEBUG: req.from = <"Juha Heinanen" 
<sip:[email protected];user=phone>>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:600] DEBUG: req.to = 
<<sip:%2331%[email protected];user=phone>;tag=5E5E47EC-4DC44505000E716C-B5DAFB70>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:601] DEBUG: req.callid = <[email protected]>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:602] DEBUG: req.from_tag = <vykuz>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:603] DEBUG: req.to_tag = 
<5E5E47EC-4DC44505000E716C-B5DAFB70>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:604] DEBUG: cseq = <439>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:605] DEBUG: req.route = <>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:606] DEBUG: hdrs = <Max-Forwards: 69#015#012>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handle_sip_request, 
SipCtrlInterface.cpp:607] DEBUG: body = <>
May  6 21:59:19 sip sems[32335]: [#b5dafb70] [handleSipMsg, 
AmSipDispatcher.cpp:81] ERROR: received ACK for non-existing dialog 
([email protected];remote_tag=vykuz;local_tag=5E5E47EC-4DC44505000E716C-B5DAFB70)

either there is a matching bug or my eyes have escaped problem in the ack.

-- juha
_______________________________________________
Sems mailing list
[email protected]
http://lists.iptel.org/mailman/listinfo/sems

Reply via email to