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
Show replies by date