[OpenSIPS-Users] ENUM routing

Răzvan Crainea razvan at opensips.org
Thu Jan 9 08:41:34 CET 2014


Hi, Eddie!

By default OpenSIPS uses parallel forking for all the branches, created 
by the enum_query() function in your case. If you want to use serial 
forking, you should call the serialize_branches() function[1] after 
creating the branches.

[1] http://www.opensips.org/Documentation/Script-CoreFunctions-1-10#toc44

Best regards,

Razvan Crainea
OpenSIPS Core Developer
http://www.opensips-solutions.com

On 01/08/2014 11:49 PM, Eddie Chan wrote:
> Hi all,
>
> We are trying to integrate OpenSIP (1.10) with our ENUM server.  We are
> having issue with ENUM routing in OpenSIP.
>
> Currently, opensips will try all the gateways from the ENUM response
> simultaneously regardless of the priority of the routes.
>
> Once it receives the first response from a gateway, then it will cancel
> the other INVITEs.
>
> We would like to route based on the gateway list ordered by priority
> sequentially.  If the first route fails, then try the next one and so on.
>
> This way assure the call will try the most favorable (cheapest) gateway
> first.
>
> The following is the relevant code that handles ENUM.  Am I missing
> something.  Is there a way to change the routing behavior to route the
> call sequentially based on ENUM priority?
>
> $var(ret) = enum_query("$avp(domain)");
>
> if ($var(ret)==1) {
>
> route(relay);
>
>              exit;
>
> }
>
> route[relay] {
>
>          if (is_method("INVITE")) {
>
>                  t_on_branch("per_branch_ops");
>
>                  t_on_reply("handle_nat");
>
>                  t_on_failure("missed_call");
>
>          }
>
>          if (!t_relay()) {
>
>                  send_reply("500","Internal Error");
>
>          };
>
>          exit;
>
> }
>
> Thanks in advance.
>
> Eddie
>
>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>



More information about the Users mailing list