[Kamailio-Users] [Solved] How to configure alias_db_lookup in config script

JR Richardson jmr.richardson at gmail.com
Wed Nov 18 23:30:37 CET 2009


Good question.  This configuration is to route certain DID's over to
specific application servers and the rest of the calls process through to
the load balancer for general traffic.

For instance, I want fax DID's to route over to a specific fax server, so I
have to distinguish which DID's are for fax calls.  I load the fax DID's
into the database and point them over the fax server.

JR

On Wed, Nov 18, 2009 at 4:21 PM, Alex Balashov <abalashov at evaristesys.com>wrote:

> This is curious logic.  This code causes the call to roll to another branch
> (via dispatcher) if the user part of the RURI cannot be found in the
> 'dbaliases' table -- are you sure this is what you want?  One would think if
> the number is not in the aliases table, it cannot be to any server?  Or am I
> misunderstanding?
>
> JR Richardson wrote:
>
>  Thanks for your quick replys.
>>  Here is the syntax that is working for me:
>>  route{
>>        # initial sanity checks -- messages with
>>        # max_forwards==0, or excessively long requests
>>        if (!mf_process_maxfwd_header("10")) {
>>                sl_send_reply("483","Too Many Hops");
>>                exit;
>>        };
>>        if (msg:len >=  2048 ) {
>>                sl_send_reply("513", "Message too big");
>>                exit;
>>        };
>>
>>        if(alias_db_lookup("dbaliases")) {
>>        t_relay();
>>          }else{
>>          ds_select_dst("1", "4");
>>        t_on_failure("1");
>>        t_relay();
>>        }
>> }
>>
>> failure_route[1] {
>>        ds_next_dst();
>>        forward();
>>        }
>>
>>  On Wed, Nov 18, 2009 at 3:45 PM, Alex Balashov <
>> abalashov at evaristesys.com <mailto:abalashov at evaristesys.com>> wrote:
>>
>>    JR,
>>
>>    Like many lookup functions, the alias_db_lookup() function has a
>>    return value.  You should check it for a negative result before
>>    proceeding further in the script:
>>
>>    Example:
>>
>>      if(!alias_db_lookup("dbaliases")) {
>>              sl_send_reply("404", "Not Found");
>>              exit;
>>      }
>>
>>    Error handling in general is a must.
>>
>>    -- Alex
>>
>>    JR Richardson wrote:
>>
>>        Hi All,
>>         I have a real simple load balancer proxy setup using the
>>        dispatcher module, works great.  I want to do an alias lookup
>>        before I send the calls through to the dispatcher, but I can't
>>        seem to find a good example of how that should be setup in the
>>        config script.  I've tried different things, the
>>        aliase_db_lookup is working but if a user is not in the
>>        database, the call loops and does not continue on to the
>>        dispatcher.  Here is my current route script (this does not work):
>>         route{
>>               # initial sanity checks -- messages with
>>               # max_forwards==0, or excessively long requests
>>                 if (!mf_process_maxfwd_header("10")) {
>>                       sl_send_reply("483","Too Many Hops");
>>                       exit;
>>               };
>>               if (msg:len >=  2048 ) {
>>                       sl_send_reply("513", "Message too big");
>>                       exit;
>>               };
>>
>>               alias_db_lookup("dbaliases");
>>               t_on_failure("1");
>>               t_relay();
>>                 ds_select_dst("1", "4");
>>               t_on_failure("1");
>>               t_relay();
>>        }
>>
>>        failure_route[1] {
>>               ds_next_dst();
>>               forward();
>>               }
>>        I think there should be an 'if' 'then' or 'if' 'else' separating
>>        the alias_db_lookup and the ds_select functions, but I'm not
>>        sure of the syntax and where the curly brackets need to be.
>>         Thanks.
>>         JR
>>        --        JR Richardson
>>        Engineering for the Masses
>>
>>
>>
>>  ------------------------------------------------------------------------
>>
>>        _______________________________________________
>>        Kamailio (OpenSER) - Users mailing list
>>        Users at lists.kamailio.org <mailto:Users at lists.kamailio.org>
>>
>>        http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>>        http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>>
>>
>>
>>    --    Alex Balashov - Principal
>>    Evariste Systems
>>    Web     : http://www.evaristesys.com/
>>    Tel     : (+1) (678) 954-0670
>>    Direct  : (+1) (678) 954-0671
>>
>>
>> --
>> JR Richardson
>> Engineering for the Masses
>>
>>
>> ------------------------------------------------------------------------
>>
>> _______________________________________________
>> Kamailio (OpenSER) - Users mailing list
>> Users at lists.kamailio.org
>> http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
>> http://lists.openser-project.org/cgi-bin/mailman/listinfo/users
>>
>
>
> --
> Alex Balashov - Principal
> Evariste Systems
> Web     : http://www.evaristesys.com/
> Tel     : (+1) (678) 954-0670
> Direct  : (+1) (678) 954-0671
>



-- 
JR Richardson
Engineering for the Masses
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20091118/84dfca9d/attachment.htm>


More information about the sr-users mailing list