[Serusers] uri==myself check and record_route()
Maxim Sobolev
sobomax at portaone.com
Wed Oct 22 21:36:44 CEST 2003
Jan Janak wrote:
> On 22-10 21:50, Maxim Sobolev wrote:
>
>>Folks,
>>
>>I am correct that it is impossible to use uri==myself check along with
>>record_route()? That is, consider the following situation:
>>
>>UA1->SER (with record_route())->UA2
>>
>>UA1 sends INVITE to SER:
>>
>>INVITE sip:ua2 at ser.ip
>>Contact: <sip:ua1 at ua1.ip>
>>
>>After processing SER resends it to UA2:
>>
>>INVITE sip:ua2 at ua2.ip
>>Record-Route: <sip:ua2 at ser.ip;lr>
>>Contact: <sip:ua1 at ua1.ip>
>>
>>Then, if UA2 wishes to terminate session it sends the following BYE to
>>the SER:
>>
>>BYE sip:ua1 at ua1.ip
>>Route: <sip:ua2 at ser.ip;lr>
>>Contact: <sip:ua2 at ua2.ip>
>>
>>Therefore if there any
>>
>>if (!(uri==myself)) {
>> sl_send_reply("500", "example serves only my domain");
>> break;
>>};
>>
>>checks in the SER, it will reply with 500 to UA2, not allowing
>>transaction to go through.
>
>
> That is correct. Mid-dialog requests (like BYE) must not be processed
> in the if (uri==myself) section, you just need to relay them.
>
> The problem in your config file is that you reject anything that
> doesn't match (uri==myself), you should just t_relay such messages
> (yes I know it creates open relay).
>
> Determining what should be relayed and what not in this case is
> another story (since you probably doesn't want to be open relay).
> (Digest authentication doesn't help here much).
That the problem I am trying to solve. Having my system working as an
open relay is the idea that thrives me a lot. :-(
-Maxim
More information about the sr-users
mailing list