I'm running SER and Asterisk both on the same machine and i'm encountering some strangeness in regards to certain UAC's attempts at ACK'ing a successfull session to the Asterisk VM server as well as the BYE.
Its kind of an ugly problem, a little history first:
Section 12.1.2 of RFC3261 states: --
The route set MUST be set to the list of URIs in the Record-Route header field from the response, taken in reverse order and preserving all URI parameters. If no Record-Route header field is present in the response, the route set MUST be set to the empty set. This route set, even if empty, overrides any pre-existing route set for future requests in this dialog. The remote target MUST be set to the URI from the Contact header field of the response.
-- Which I interprit as: The RURI of the ACK MUST be equal to the Contact: in the "200 OK" and a "Route:" field(s) must be added which contains all the information inside the "Record-Route" header (if present) of the "200 OK" message.
I actually have one device that does just this, and it works perfectly.
I have two other devices, 1 Cisco 7960 and 1 generic korean UAC that do NOT do this. They respond to the "200 OK" with an "ACK" that contains an RURI with the data that was in the "Record-Route" header of the "200 OK" and a "Route:" header with the data that was in the "Contact:" of the "200 OK".
Now, the problem: When the "ACK" hits SER, SER forwards the message to itself (loops) untill the "Max-Forwards" reaches zero. The Asterisk server never gets the "ACK" and so resends the "200 OK" several times which creates another storm of loopback traffic once the UAC responds with another ACK.
An Observation: When i move the asterisk server to another machine, the "ACK" is forwarded properly and the session is established sucessfully , however when the BYE messages gets to SER it is looped just like the ACK message was when Asterisk was running on the local machine.
I don't want to post configs or traces just yet as i'm still digging into it.
I'm just curious if anyone out there with a SIP brain (read RFC3261 knowledgable) could tell me if the above exchange is indeed compliant. For reference i'm running Voice Software 7.3 on the Cisco 7960
I hope this problem peaks someones interest because i could really use some help =P