[SR-Users] Proxy-Registrar call issues

Coy Cardwell coy.cardwell at gmail.com
Mon Oct 21 22:52:24 CEST 2013


Just to clarify, I have no direct need for the t_load_contacts and t_next
contacts. I am simply trying to follow the outbound modules recommend
configuration.

As mentioned, if I simply skip them, clients can register. If they are not
needed, that's fine by me.

Additionally, for the outbound suggestions, the following snippet from the
proxy configuration causes issues.
The bolded area had to be added for registration to work.

The 'default' option of the '!loose_route' is always executed, so I guess
'loose_route' always fails. If I skip the 'default' and let the logic fall
through to the route(RELAY), things work to a degree as I mentioned, but
some SIP packets are still lost.

I am really just trying to get basic functionality with a central registrar
and proxy sersers working.


        if (is_method("REGISTER")) {
                remove_hf("Route");
                *append_hf("Supported: path, outbound\r\n");*
                add_path();
                $du = "sip:REGISTRAR_IP:REGISTRAR_PORT";
        } else {
                if (is_method("INVITE|SUBSCRIBE"))
                        record_route();

                if ($si == "REGISTRAR_IP" && $sp == "REGISTRAR_PORT") {
                        if (!loose_route()) {
                                switch($rc) {
                                case -2:
                                        sl_send_reply("403", "Forbidden");
                                        exit;
                                default:
                                        sl_reply_error();
                                        exit;
                                }
                        }

                        t_on_failure("FAIL_OUTBOUND");
                } else {
                        if ($rU == $null) {
                                sl_send_reply("484", "Address Incomplete");
                                exit;
                        }
                        remove_hf("Route");
                        $du = "sip:REGISTRAR_IP:REGISTRAR_PORT";
                }
        }

        route(RELAY);



On Mon, Oct 21, 2013 at 4:20 PM, Coy Cardwell <coy.cardwell at gmail.com>wrote:

> Yes
>
> If either of the t_next_contacts are executed, they fail.
>
> If they are removed from the routing logic, the calls are completing, but
> not reliably as, as the least, some SIP packets like BYE are being dropped.
>
>  here is a snippet:
>         $avp(oexten) = $rU;
>         if (!lookup("location")) {
>                 $var(rc) = $rc;
>                 route(TOVOICEMAIL);
>                 t_newtran();
>                 switch ($var(rc)) {
>                         case -1:
>                         case -3:
>                                 send_reply("404", "2 Not Found");
>                                 exit;
>                         case -2:
>                                 send_reply("405", "Method Not Allowed");
>                                 exit;
>                 }
>         }
>
>         if (!t_load_contacts()) {
>                 send_reply("500", "1 Server Internal Error");
>                 exit;
>         }
>
>        if (!t_next_contacts()) {
>                send_reply("500", "2 Server Internal Error");
>                exit;
>        }
>
>        t_on_failure("FAIL_OUTBOUND");
>
> and another
>
> # manage failure routing cases
> failure_route[FAIL_OUTBOUND] {
>         if (t_check_status("408|430")) {
>                 if (!t_next_contact_flows() && !t_next_contacts()) {
>                         send_reply("500", "3 Server Internal Error");
>                         exit;
>                 }
>         } else if (!t_next_contacts()) {
>                 send_reply("500", "4 Server Internal Error");
>                 exit;
>         }
>
>         t_on_failure("FAIL_OUTBOUND");
>         route(RELAY);
> }
>
>
> Thanks!
>
> - Coy
>
>
>
> On Mon, Oct 21, 2013 at 3:17 PM, Daniel-Constantin Mierla <
> miconda at gmail.com> wrote:
>
>>  Hello,
>>
>> before using t_load_contacts()/t_next_contacts(), you have to use
>> lookup("location");
>>
>> Do you have that one, too?
>>
>> Cheers,
>> Daniel
>>
>>
>> On 10/17/13 11:40 PM, Coy Cardwell wrote:
>>
>> Hello again.
>>
>>  Compiling from source, using the proxy-to-central registrar
>> configurations outlined here
>> http://www.kamailio.org/docs/modules/4.0.x/modules/outbound.html and
>> adding in the additional "append_hf("Supported: path, outbound\r\n");" on
>> the proxy, registration works.
>>
>>  However, when a call is made, the debug traces show problems when
>> entering this area of the configuration outlined in the Outbound Module:
>>
>>  	if (!t_load_contacts()) {
>> 		send_reply("500", "Server Internal Error");
>> 		exit;
>> 	}
>>
>> 	if (!t_next_contacts()) {
>> 		send_reply("500", "Server Internal Error");
>> 		exit;
>> 	}
>>
>>  as shown here:
>>  1(26960) ERROR: *** cfgtrace: c=[//etc/kamailio/kamailio.cfg] l=700
>> a=16 n=if
>>  1(26960) ERROR: *** cfgtrace: c=[//etc/kamailio/kamailio.cfg] l=695 a=24
>> n=t_load_contacts
>>  1(26960) DEBUG: tm [t_serial.c:166]: t_load_contacts(): nr_branches is 0
>>  1(26960) DEBUG: tm [t_serial.c:169]: t_load_contacts(): nothing to do -
>> only one contact!
>>  1(26960) ERROR: *** cfgtrace: c=[//etc/kamailio/kamailio.cfg] l=705 a=16
>> n=if
>>  1(26960) ERROR: *** cfgtrace: c=[//etc/kamailio/kamailio.cfg] l=700 a=24
>> n=t_next_contacts
>>  1(26960) DEBUG: tm [t_serial.c:376]: t_next_contacts(): no contacts in
>> contacts_avp - we are done!
>>  1(26960) ERROR: *** cfgtrace: c=[//etc/kamailio/kamailio.cfg] l=701 a=26
>> n=send_reply
>>
>>  The result from t_load_contacts seems to imply one contact exists,
>> which would be correct as there should be one, but then t_next_contacts
>> sees no cotacts and the sever returns an error, breaking the call.
>>
>>  Any ideas?
>>
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing listsr-users at lists.sip-router.orghttp://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>> --
>> Daniel-Constantin Mierla - http://www.asipto.comhttp://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
>> Kamailio Advanced Trainings - Berlin, Nov 25-28; Miami, Nov 18-20, 2013
>>   - more details about Kamailio trainings at http://www.asipto.com -
>>
>>
>> _______________________________________________
>> SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
>> sr-users at lists.sip-router.org
>> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20131021/6e00eee6/attachment.html>


More information about the sr-users mailing list