[OpenSIPS-Users] Changing FROM header several times
    Magnus Burman 
    magnus.burman at adamo.es
       
    Tue Jun 22 18:28:54 CEST 2010
    
    
  
To get outgoing caller id to work I have to change my FROM header to a
trunk-specific format. While this is ugly, it works, unless I try to do it
more then once. Using gateway lists in drouting this scenario can happen as
the routing script is run for each gateway on failure.
Is there another way for me to do this? Either by only using
uac_replace_from once, or by alternating the FROM header in another way?
With the below script I end up with duplicates:
From: "123456789""34123456789" <sip:123456789 at 4.4.4.4sip:34123456789 at 4.4.4.4
>;tag=as0ab5e31d.
if(do_routing()) {
    route(111);
    exit;
}
#...
route[111] {
    # Do gateway-specific processing
    switch($rd) {
        case "1.1.1.1":
            route(callid1);
            break;
        case "2.2.2.2":
            route(callid2);
            break;
        case "3.3.3.3":
            route(callid3);
            break;
        default:
            route(callid1);
    }
    t_on_failure("1");
    if (!t_relay()) {
        sl_reply_error();
    };
    exit;
}
route[callid1] {
    if(avp_db_query("select call_id from subscriber_extras where username =
'$fU'", "$avp(s:cid)")) {
        uac_replace_from("34$avp(s:cid)", "sip:34$avp(s:cid)@$td");
    }
}
route[callid2] {
    if(avp_db_query("select call_id from subscriber_extras where username =
'$fU'", "$avp(s:cid)")) {
        uac_replace_from("+34$avp(s:cid)", "sip:+34$avp(s:cid)@$td");
    }
}
route[callid3] {
    if(avp_db_query("select call_id from subscriber_extras where username =
'$fU'", "$avp(s:cid)")) {
        uac_replace_from("$avp(s:cid)", "sip:$avp(s:cid)@$td");
    }
}
failure_route[1] {
    if(use_next_gw()) {
        t_on_failure("1");
        route(111);
        exit;
    }
}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.opensips.org/pipermail/users/attachments/20100622/173785ec/attachment.htm 
    
    
More information about the Users
mailing list