[OpenSER-Users] Avoid Loops between Openser and Asterisk

Cosimo Fadda cosimo.fadda at klarya.it
Thu Apr 3 09:50:17 CEST 2008


Hi everybody,
I'm using Opeser as Proxy and one Asterisk as Gateway and Voicemail server.
Suppose that an incoming calls arrives to Ser from Asterisk and the user 
is offline;
Then Openser sends back the Invite to Asterisk that should activate the 
voicemail application but
unfortunately it detects a Loop (482) and rejects the invite.
I think I have to mangle the SIP message in Openser before the send to 
Asterisk again.
This is what I currently do:

if(!lookup("location"))
    {
        #send to voicemail if active but not registerd
        xlog("L_INFO", "Local user offline - M=$rm RURI=$ru F=$fu T=$tu 
IP=$si ID=$ci\n");
        if($avp(s:vmail) == "1")
        {
         route(11);
        }
        else
        {
         route(20);
        }
    }
    else
    {  
       xlog("L_INFO", "Local user online - M=$rm RURI=$ru F=$fu T=$tu 
IP=$si ID=$ci\n");
        route(9);
    }
    exit;

....

route[11]
{
    xlog("L_INFO", "Forwarding request to VM\n");
    prefix("vm");
    sethostport("asterisk-gw:5060");
    #append_branch();
    if (!t_relay())
    {
        xlog("L_INFO", "Unable TO Forward the request to VM\n");
           route(20);
           exit;
    }


What can I do to avoid Loop Detection?

Thanks in advance,

Cosimo Fadda
___________




More information about the sr-users mailing list