[Serusers] Error 483 response to ACK and BYE
SIP
sip at arcdiv.com
Thu Jun 28 20:42:05 CEST 2007
Right. That's the part that's difficult to discover. Where the problem
lies.
The INVITE gets there correctly... I see the path.
UA ---> INVITE 1101201 ---> other proxy ---> INVITE 201 ---> our
proxy:5060 ---> INVITE 201 ---> our proxy:5090 ---> 200 OK
The ACK, however, takes a slightly different path:
other proxy ---> ACK 201 ---> our proxy:5060 ---> ACK 201 ---> our
proxy:5060 ---> rinse ---> repeat
However, from locally registered clients, the path is:
UA ---> ACK 201 ---> our proxy:5060 ---> ACK 201 ---> our proxy:5090
---> life is good.
It's the whole discrepancy that throws me. I mean... the SIP messages
are, for all intents and purposes, going through the same config. I
can't figure out why one client would not experience the same issues as
any other client, locally registered or not.
The Contact header response from the INVITE is correct:
Contact: <sip:201 at 63.64.65.66:5090>.
But then, the INVITE goes through a series of rewrites of the host/port
based on the URI before t_relay. ACKs just go straight to t_relay. I
guess I'm not 100% sure who writes/rewrites the Contact header.
N.
Andres wrote:
> Andres wrote:
>
>> SIP wrote:
>>
>>
>>
>>> setflag(3); if (!t_relay()) { sl_reply_error(); };
>>> }
>>>
>>> But for some reason, it sends it to itself... and moments later, I
>>> end up with something like:
>>> U 63.64.65.66:5060 -> 63.64.65.66:5060ACK sip:201 at 63.64.65.66:5060
>>> SIP/2.0.Record-Route:
>>>
>> Your ACK is going to the wrong port. If you say SEMS is on 5090 then
>> the remote end is not sending the ACK to the correct port. You will
>> need to take a look at the whole SIP message exchange to see if its
>> your fault or the other providers fault.
>>
> Just a clarification. When I say it is sending the ACK to the wrong
> port I am refering to this part of the message: ACK
> sip:201 at 63.64.65.66:5060 (which is build from Contact Header details).
> ..not this part: U 63.64.65.66:5060 -> 63.64.65.66:5060
>
>>
>>
>>> So what do you think? Any ideas on what might cause different
>>> routing behaviour for locally-registered and non-locally-registered
>>> UAs? Would taking the approach of tossing all the rewrites into a
>>> separate routing block and calling it from the ACK, CANCEL, BYE, and
>>> INVITE blocks be just heading down the wrong path?
>>>
>>>
>>>
>>>
>> Yes, and again a complete comparison of SIP messages in both test
>> cases will reveal why. Look at the contact header throughout all
>> messages to see what happens. The non-locally-registered UAs are
>> sending the ACK to the wrong port.
>>
>> Andres
>> http://www.telesip.net
>> _______________________________________________
>> Serusers mailing list
>> Serusers at lists.iptel.org
>> http://lists.iptel.org/mailman/listinfo/serusers
>>
>>
>>
>>
More information about the sr-users
mailing list