[Serusers] Unable to complete calls with 0.8.13

Andres andres at telesip.net
Fri Jan 30 04:45:15 CET 2004


Ok...I removed it and added it at the bottom (or else SER says there is 
an error).  But still the same problem.  Here is the new config:

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");
                break;
        };
        if ( msg:len > max_len ) {
                sl_send_reply("513", "Message too big");
                break;
        };

        # we record-route all messages -- to make sure that
        # subsequent messages will go through our proxy; that's
        # particularly good if upstream and downstream entities
        # use different transport protocol
        record_route();
        # loose-route processing
        if (loose_route()) {
                t_relay();
                break;
        };
        # if the request is for other domain use UsrLoc
        # (in case, it does not work, use the following command
        # with proper names and addresses in it)
        if (uri==myself) {
                if (method=="REGISTER") {
                save("location");
                break;
        };
                # native SIP destinations are handled using our USRLOC DB
                if (!lookup("location")) {
                        sl_send_reply("404", "Not Found");
                        break;
                };


        # forward to current uri now; use stateful forwarding; that
        # works reliably even if we forward from TCP to UDP
        if (!t_relay()) {
                sl_reply_error();
        };
}
}




Nils Ohlmeier wrote:

>Simply removed the second bracket after
>  save("location");
>  break;
>
>see below
>
>  Nils
>
>Am Friday 30 January 2004 04:06 schrieb Andres:
>  
>
>>Hi,
>>
>>I downloaded the latest CVS tarball and installed it in our lab.  Using
>>a LAN setup, where SER and 2 Sipura units are all in the same subnet, I
>>am unable to complete any calls.  All I can tell is that SER is unable
>>to match the ACK to a current transaction.  So when phone A makes a call
>>to phone B and it answers, phone B sends the STATUS 200 OK back.  Phone
>>A then sends the ACK, but SER is unable to match it and is not forwarded
>>to phone B.  So the call is not completed.
>>
>>The syslog just shows a bunch of these messages:
>>Warning: sl_send_reply: I won't send a reply for ACK!!
>>
>>I have tried this under RedHat 7.3 and Solaris 8 with the exact same
>>results.
>>
>>I can send the Ethereal Trace of this event to whoever can help me.
>>
>>The config file is extremely simple (listed below).
>>
>>Any clues of what is going on?
>>
>>Thanks.
>>
>>--
>>Andres
>>Network Admin
>>http://www.telesip.net
>>
>>
>>
>>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");
>>                break;
>>        };
>>        if ( msg:len > max_len ) {
>>                sl_send_reply("513", "Message too big");
>>                break;
>>        };
>>
>>        # we record-route all messages -- to make sure that
>>        # subsequent messages will go through our proxy; that's
>>        # particularly good if upstream and downstream entities
>>        # use different transport protocol
>>        record_route();
>>        # loose-route processing
>>        if (loose_route()) {
>>                t_relay();
>>                break;
>>        };
>>        # if the request is for other domain use UsrLoc
>>        # (in case, it does not work, use the following command
>>        # with proper names and addresses in it)
>>        if (uri==myself) {
>>                if (method=="REGISTER") {
>>                save("location");
>>                break;
>>        };
>>        };
>>    
>>
>         ^^^
>remove these bracket because it ends your uri==myself block and thus the ACKs 
>end up in the lookup below.
>
>  
>
>>                # native SIP destinations are handled using our USRLOC DB
>>                if (!lookup("location")) {
>>                        sl_send_reply("404", "Not Found");
>>                        break;
>>                };
>>
>>
>>        # forward to current uri now; use stateful forwarding; that
>>        # works reliably even if we forward from TCP to UDP
>>        if (!t_relay()) {
>>                sl_reply_error();
>>        };
>>}
>>    
>>
>
>  
>


-- 
Andres
Network Admin
http://www.telesip.net





More information about the sr-users mailing list