[SR-Users] TR: Failure Mode

Nicolas Breuer Nicolas.Breuer at belcenter.biz
Sun Jul 16 11:39:20 CEST 2017


Hello,

I moved all the « code" from Branch Failure to Route Failure and indeed it's working as expected now

Thanks for your help


De : Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Envoyé : jeudi 13 juillet 2017 10:36
À : Nicolas Breuer <Nicolas.Breuer at belcenter.biz>; Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org>
Objet : Re: [SR-Users] TR: Failure Mode


Hello,

408 has priority over 486, being a lower value. If you add the second branch in a branch-failure-event-route, then you have parallel forking and the lowest code is selected.

Anyhow, from your sip trace, it seems that the 486 was forwarded, not local generated, because it has the to-tag from callee side. The 408 is generated by kamailio.

Maybe you can enable cfgtrace for debugger an see what actions are executed, to be sure it runs over the config parts you expect to.

Cheers,
Daniel

On 12.07.17 16:01, Nicolas Breuer wrote:
Hello,

Thanks for this feedback. I can for sure remove the sl_send_reply from branch_failure_route and I can trace that, if I remove that
And the destination is busy , the kamalio will only send the 408 "time-out" reply.


De : Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Envoyé : mercredi 12 juillet 2017 15:13
À : Nicolas Breuer <Nicolas.Breuer at belcenter.biz><mailto:Nicolas.Breuer at belcenter.biz>; Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org><mailto:sr-users at lists.kamailio.org>
Objet : Re: [SR-Users] TR: Failure Mode


Hello,

do not send replies in branch failure route. At that phase, the outgoing branches are not yet completed. More important, do not use sl_send_reply() (this sends a stateless reply) after the transaction has been created (which is the case of branch failure route or failure route), use t_reply() if you are sure that transaction was created or send_reply() if you are not sure (so this option is the safest). Sending a stateless reply when a transaction is active doesn't have any effect on transaction state and tm module will send its own reply once it considers the transaction to be completed.

Also, creating a new branch in branch failure route (event_route[tm:branch-failure:...]) adds to parallel forking. Serial forking is done only from failure_route[...], when all branches sent out before were completed.
Hope these are clarifying the behaviour you get there.

Cheers,
Daniel
On 12.07.17 11:47, Nicolas Breuer wrote:
Hello Daniel,

The 486 is send by « myself" in the branch failure code.

        ##########################################################   486 busy
        if (t_check_status("486") && $sht(branch=>$ci) != "" ) {
        xlog("L_NOTICE", "############################################ Error received from the Carrier ----> Error $var(errorcode)");
        sl_send_reply("486","Busy Here");
        exit;
        }

If I remove that, no "486" is send or put in acc.


So to be clear :


  *   486 is send by branch failure
  *   408 is send by route failure and the winning reply

Normally I don' t have to code to send a "486" on the branch.


De : Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Envoyé : mercredi 12 juillet 2017 09:23
À : Nicolas Breuer <Nicolas.Breuer at belcenter.biz><mailto:Nicolas.Breuer at belcenter.biz>; Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org><mailto:sr-users at lists.kamailio.org>
Objet : Re: [SR-Users] TR: Failure Mode


Hello,

your latest sip trace shows that 486 is sent out to caller (the acc record from syslog shows that the transaction was completed with that code as well). An ACK follows, but then I see also 408.

Can you check you config and see if there is some other place that can generate the reply, like a send_reply(...) or t_reply(...)?

Cheers,
Daniel

On 10.07.17 12:02, Daniel-Constantin Mierla wrote:

Hello,

the new trace shows a serial forking, with the first branch timing out, but the second branch is getting a 183 response, and that's all. It is not the same scenario you described. I need the full trace, from initial invite to the final response sent back to caller to see what is the winning response code.

Cheers,
Daniel

On 10.07.17 10:10, Nicolas Breuer wrote:
Hello,

Yes I'm sure the second branch is launched from Branch Failure Route.
If you check the timer trace, you can see the second is send 4 seconds later than the first ( I set the tm_inv to 4 seconds )

But in the trace I sent you the "last" invite. The kamailio sent 4 invites.

I will send you the complete trace




De : Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Envoyé : lundi 10 juillet 2017 09:20
À : Nicolas Breuer <Nicolas.Breuer at belcenter.biz><mailto:Nicolas.Breuer at belcenter.biz>; Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org><mailto:sr-users at lists.kamailio.org>
Objet : Re: [SR-Users] TR: Failure Mode


Hello,

looking at the trace, the routing is parallel forking, because the two branches are sent out at the same time, it is no final response to the first branch before the second is sent out.

Are you sure you sent out the second branch from failure route? From the sip trace is doesn't seem so.

Cheers,
Daniel

On 07.07.17 15:38, Nicolas Breuer wrote:
Hello Daniel,

Thanks !

I sent all the information's to your email address


De : Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Envoyé : vendredi 7 juillet 2017 13:21
À : Nicolas Breuer <Nicolas.Breuer at belcenter.biz><mailto:Nicolas.Breuer at belcenter.biz>; Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org><mailto:sr-users at lists.kamailio.org>
Objet : Re: [SR-Users] TR: Failure Mode


Can you get a ngrep trace captured on kamailio server for such situation?

Also, can you paste the failure_route block here along with the log messages from the syslog?

Cheers,
Daniel

On 07.07.17 12:42, Nicolas Breuer wrote:
I think serial because the new branch is only created in case the first is timeout.

De : Daniel-Constantin Mierla [mailto:miconda at gmail.com]
Envoyé : vendredi 7 juillet 2017 12:40
À : Kamailio (SER) - Users Mailing List <sr-users at lists.kamailio.org><mailto:sr-users at lists.kamailio.org>; Nicolas Breuer <Nicolas.Breuer at belcenter.biz><mailto:Nicolas.Breuer at belcenter.biz>
Objet : Re: [SR-Users] TR: Failure Mode


Hello,

are you doing parallel forking or serial forking?

Cheers,
Daniel

On 07.07.17 12:24, Nicolas Breuer wrote:


Hello,

Some help here is needed

# auto-discard branches from previous serial forking leg
modparam("tm", "failure_reply_mode", 3)

I test a call with two branches.

1st branch received a 408 timeout error
2nd branch received a 486 busy.

Normally the failure route should be with the 486.

NOTICE: <script>: Failure route -----2---1--408----

We can see the 408 is the winning reply but I understood from the documentation that if
Failure reply mode is "3" , the winning reply is always the reply from the last branch :)

It's a problem because if  the 1st is timeout (because down), the second is OK but callee is busy ; we don't send the right reply to the caller













_______________________________________________

Kamailio (SER) - Users Mailing List

sr-users at lists.kamailio.org<mailto:sr-users at lists.kamailio.org>

https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users








--

Daniel-Constantin Mierla

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio Advanced Training - www.asipto.com<http://www.asipto.com>

Kamailio World Conference - www.kamailioworld.com<http://www.kamailioworld.com>







--

Daniel-Constantin Mierla

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio Advanced Training - www.asipto.com<http://www.asipto.com>

Kamailio World Conference - www.kamailioworld.com<http://www.kamailioworld.com>






--

Daniel-Constantin Mierla

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio Advanced Training - www.asipto.com<http://www.asipto.com>

Kamailio World Conference - www.kamailioworld.com<http://www.kamailioworld.com>





--

Daniel-Constantin Mierla

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio Advanced Training - www.asipto.com<http://www.asipto.com>

Kamailio World Conference - www.kamailioworld.com<http://www.kamailioworld.com>





--

Daniel-Constantin Mierla

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio Advanced Training - www.asipto.com<http://www.asipto.com>

Kamailio World Conference - www.kamailioworld.com<http://www.kamailioworld.com>




--

Daniel-Constantin Mierla

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio Advanced Training - www.asipto.com<http://www.asipto.com>

Kamailio World Conference - www.kamailioworld.com<http://www.kamailioworld.com>



--

Daniel-Constantin Mierla

www.twitter.com/miconda<http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda<http://www.linkedin.com/in/miconda>

Kamailio Advanced Training - www.asipto.com<http://www.asipto.com>

Kamailio World Conference - www.kamailioworld.com<http://www.kamailioworld.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.kamailio.org/pipermail/sr-users/attachments/20170716/200ba454/attachment.html>


More information about the sr-users mailing list