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@ser.ip Contact: sip:ua1@ua1.ip
After processing SER resends it to UA2:
INVITE sip:ua2@ua2.ip Record-Route: sip:ua2@ser.ip;lr Contact: sip:ua1@ua1.ip
Then, if UA2 wishes to terminate session it sends the following BYE to the SER:
BYE sip:ua1@ua1.ip Route: sip:ua2@ser.ip;lr Contact: sip:ua2@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.
-Maxim