Details

    • Type: Bug Bug
    • Status: Closed
    • Severity: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Target Release Version/s: None
    • Component/s: Channels/chan_iax2
    • Labels:
      None
    • Mantis ID:
      13645
    • Regression:
      No

      Description

      After upgrading to 1.4.22 problem with call disconnection appeared.

      Scenario:

      IP_PHONE <--sip-> ASTERISK_1 <--iax2--> ASTERISK_2 <-zap--> PSTN

      Call from IP_PHONE to PSTN to non_existing number (unassigned/unallocated number, release cause 1) is no longer cleared immediately, but only after approx. 10s.
      iax2 debug shows, that there is no HANGUP message sent by ASTERISK_2.
      Side effect - there is impossible to discover HANGUPCAUSE on ASTERISK_1, cause HANGUPCAUSE is transmitted in HANGUP message .

      In fact, it looks, that there is HANGUP missing in case call was answered, too.

      I'm pretty sure, in 1.4.21.2 it worked. But I have no chance to rolback to 1.4.21.2 right now

                • ADDITIONAL INFORMATION ******

      I'm attaching "set verbose 5" + "iax2 debug" for several calls.

      1. From ASTERISK_1 calling via pretty old 1.2.7.1 (let's call him ASTERISK_3)
      2. From ASTERISK_1 calling via 1.4.22
      3. From ASTERISK_2 (1.4.22)
      4. From ASTERISK_3 (1.2.7.1)
      5. From ASTERISK_1 to existing number. Call was answered, then called party disconnected.

      First 4 calls are made to non-existent number, PSTN disconnects call immediately.

      1. 1-ASTERISK_1-to-1.2.7.1.txt
        4 kB
      2. 20081106_144828.pcap
        0.4 kB
      3. 20081111__bug13645__3.diff.txt
        2 kB
        Tilghman Lesher
      4. 20081111__bug13645.diff.txt
        1 kB
        Tilghman Lesher
      5. 2-ASTERISK_1-to-1.4.22.txt
        5 kB
      6. 3-ASTERISK_2.txt
        5 kB
      7. 4-ASTERISK_3.txt
        4 kB
      8. 5-ASTERISK_1-to-existing-number.txt
        7 kB
      9. iax2-1.6.x-11-11-2008.diff
        2 kB
        Anton Vazir
      10. iax2-nocausecode.diff
        1 kB
        Anton Vazir

        Activity

        Hide
        Anton Vazir added a comment -

        The last patch is the v3 adopted for 1.6.x

        Show
        Anton Vazir added a comment - The last patch is the v3 adopted for 1.6.x
        Hide
        Igor Zamocky added a comment -

        Vazir, patch You uploaded is patch to fix this issue on 1.6.x.

        Or is it the patch, You assume, responsible for this issue?
        If this is the case, did You try to revert changes in chan_iax2.c? Did it help?

        Show
        Igor Zamocky added a comment - Vazir, patch You uploaded is patch to fix this issue on 1.6.x. Or is it the patch, You assume, responsible for this issue? If this is the case, did You try to revert changes in chan_iax2.c? Did it help?
        Hide
        Anton Vazir added a comment -

        dzajro, the last uploaded patch is the adoption for 1.6.x of the Corydon76 patch (which was originally made for 1.4.22), In brief, patch is is a (partly) reversion of the changes from 1.4.21, plus fix for a memory leak (added scheduled call destruction)

        Show
        Anton Vazir added a comment - dzajro, the last uploaded patch is the adoption for 1.6.x of the Corydon76 patch (which was originally made for 1.4.22), In brief, patch is is a (partly) reversion of the changes from 1.4.21, plus fix for a memory leak (added scheduled call destruction)
        Hide
        Anton Vazir added a comment -

        And yes, corresponding patches tested and work for me for both 1.4.22 and 1.6.0.1

        Show
        Anton Vazir added a comment - And yes, corresponding patches tested and work for me for both 1.4.22 and 1.6.0.1
        Hide
        Digium Subversion added a comment -

        Repository: asterisk
        Revision: 156229

        U branches/1.4/channels/chan_iax2.c

        ------------------------------------------------------------------------
        r156229 | tilghman | 2008-11-12 12:39:16 -0600 (Wed, 12 Nov 2008) | 11 lines

        Revert revision 132506, since it occasionally caused IAX2 HANGUP packets not
        to be sent, and instead, schedule a task to destroy the iax2 pvt structure
        10 seconds later. This allows the IAX2 HANGUP packet to be queued,
        transmitted, and ACKed before the pvt is destroyed.
        (closes issue ASTERISK-12847)
        Reported by: dzajro
        Patches:
        20081111_bug13645_3.diff.txt uploaded by Corydon76 (license 14)
        Tested by: vazir
        Reviewed: http://reviewboard.digium.com/r/51/

        ------------------------------------------------------------------------

        http://svn.digium.com/view/asterisk?view=rev&revision=156229

        Show
        Digium Subversion added a comment - Repository: asterisk Revision: 156229 U branches/1.4/channels/chan_iax2.c ------------------------------------------------------------------------ r156229 | tilghman | 2008-11-12 12:39:16 -0600 (Wed, 12 Nov 2008) | 11 lines Revert revision 132506, since it occasionally caused IAX2 HANGUP packets not to be sent, and instead, schedule a task to destroy the iax2 pvt structure 10 seconds later. This allows the IAX2 HANGUP packet to be queued, transmitted, and ACKed before the pvt is destroyed. (closes issue ASTERISK-12847 ) Reported by: dzajro Patches: 20081111_ bug13645 _3.diff.txt uploaded by Corydon76 (license 14) Tested by: vazir Reviewed: http://reviewboard.digium.com/r/51/ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=156229

          People

          • Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development