[OpenSER-Users] Avoid Loops between Openser and Asterisk
Iñaki Baz Castillo
ibc at in.ilimit.es
Fri Apr 11 09:33:53 CEST 2008
El Thursday 10 April 2008 23:00:28 Adrian A escribió:
> Here is how I solve this.
>
> In Asterisk, I add a SIP header just before sending it to OpenSER using the
> function: SipAddHeader(P-hint: From Asterisk).
>
> Then, in OpenSER I have the following:
>
> # check to see if user is online
> if (!lookup("location")) {
> # SIP from Asterisk or not a call attempt
> if (search("(P-hint):.From Asterisk") ||
> !(method==INVITE)) { sl_send_reply("480","User Temporarily Unavailable");
> exit;
> } else {
> route(2);
> exit;
> };
> };
>
> route[2] {
> # Let Asterisk deal with voicemail/forward
> sl_send_reply("181", "Forward to Voicemail");
> prefix("vm");
> setflag(9); # forward to Asterisk
> route(1);
> }
I can't understand why that should work, in fact Asterisk is receiving the
same INVITE he sent (well, RURI modified but the Asterisk bug is that it
doesn't recogniza a spiral).
--
Iñaki Baz Castillo
ibc at in.ilimit.es
More information about the sr-users
mailing list