Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo


#500 B2B - core on reply when 408

modules (454)
Nick Altmann

If b2b generates 408 Timeout, in b2b_reply route $mb is null and if I do
route[B2B_REPLY] {
xlog("b2b_reply $si:$sp\n");
opensips crashes:
Apr 2 15:53:30 opensips /usr/sbin/opensips[15011]: CRITICAL:core:ip_addr2a: unknown address family 0
Apr 2 15:53:31 opensips /usr/sbin/opensips[15022]: CRITICAL:core:receive_fd: EOF on 23
Apr 2 15:53:31 opensips /usr/sbin/opensips[15000]: INFO:core:handle_sigs: child process 15011 exited by a signal 11
Apr 2 15:53:31 opensips /usr/sbin/opensips[15000]: INFO:core:handle_sigs: core was generated
Apr 2 15:53:31 opensips /usr/sbin/opensips[15000]: INFO:core:handle_sigs: terminating due to SIGCHLD
Apr 2 15:53:31 opensips /usr/sbin/opensips[15022]: INFO:core:sig_usr: signal 15 received


    • assigned_to: nobody --> bogdan_iancu
    • status: open --> open-accepted
  • patch to fix

  • Please apply and test the attached patch.

    Thanks and regards,

  • Nick Altmann
    Nick Altmann

    Now it not crashes, but $mb is still NULL. I think $mb should contain 408 reply.
    Also why $ci ended by "\r\n" in b2b_reply?
    $si, $sp point to self (ok).

  • OK, one step forward :)

    The $mb is NULL as the "408" you have there is an internally generated reply, not a real received one. So, it is a FAKED reply (just a reply code and status) - it is actually build only when to be sent out.
    As this route gives access to received replies, it is impossible to provide a body to an internally reply.

    Regarding the $ci (the ending CRLF), I will look into.

  • Nick Altmann
    Nick Altmann

    In case of timeout, there are $rr="Timeout", but $rs is NULL. It would be helpful, if $rs="408".
    I understand that it's fake call, but $rs and $rr needed for identify reply.

    So, problems:
    1. Empty $rs when 408.
    2. CRLF in $ci

  • OK, update from SVN please, this should be fixed.

    Thanks and regards,

    • status: open-accepted --> open-fixed
  • Nick Altmann
    Nick Altmann

    Now it works okay. Thank you.

    • status: open-fixed --> closed-fixed