[Home]

Summary:ASTERISK-10623: autopark strange behaviour if canreinvite=update,nonat
Reporter:Antonio Gallo (agx)Labels:
Date Opened:2007-10-26 08:35:01Date Closed:2011-06-07 14:08:06
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Resources/res_features
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) autopark-sip-and-debug.zip
( 1) debug.45.zip
( 2) gdb.txt.gz
( 3) gdb.zip
( 4) gdb1.txt.gz
( 5) gdb2.txt.gz
Description:The documentation says that re-invites are automatically disabled if a dial option is included. If i try to call from SIP/13 to SIP/12 and i try to park the call with *7 (autopark) i get a very strange behaviour:
- me (SIP/13) do not hear "701" that is the first extension slot;
- me (SIP/13) can still hear SIP/12 talking to me
- me (SIP/13) hear a low volume MOH as background;
- SIP/12 hear MOH

The call is started with: Dial(SIP/12|120|rtwkTWK)
i assume that this will disable re-invites.

The problem does not appear if in sip.conf i've canreinvite=no but only when i use canreinvite=update,nonat


****** ADDITIONAL INFORMATION ******

More logs:

[Oct 26 15:30:49]     -- AGI Script Executing Application: (UserEvent) Options: (PbxCall|Source: 13;Target: 12)
[Oct 26 15:30:49]     -- Channel hangup cancelled.
[Oct 26 15:30:49]     -- Response timeout set to 120
[Oct 26 15:30:49]     -- AGI Script Executing Application: (ResetCDR) Options: ()
[Oct 26 15:30:49]     -- AGI Script Executing Application: (Dial) Options: (SIP/12|120|rtwkTWK)
[Oct 26 15:30:49]  Extension Changed 12 new state Ringing for Notify User 10
[Oct 26 15:30:49]  Extension Changed 12 new state Ringing for Notify User 11
[Oct 26 15:30:49]  Extension Changed 12 new state Ringing for Notify User 12
[Oct 26 15:30:49]  Extension Changed 12 new state Ringing for Notify User 13
[Oct 26 15:30:49]     -- Called 12
[Oct 26 15:30:49]     -- SIP/12-0838dab0 is ringing
[Oct 26 15:30:52]  Extension Changed 12 new state InUse for Notify User 10
[Oct 26 15:30:52]  Extension Changed 12 new state InUse for Notify User 11
[Oct 26 15:30:52]  Extension Changed 12 new state InUse for Notify User 12
[Oct 26 15:30:52]  Extension Changed 12 new state InUse for Notify User 13
[Oct 26 15:30:52]     -- SIP/12-0838dab0 answered SIP/13-082cf3a0
[Oct 26 15:30:53] DTMF[10688]: channel.c:2430 __ast_read: DTMF begin '*' received on SIP/13-082cf3a0
[Oct 26 15:30:53] DTMF[10688]: channel.c:2440 __ast_read: DTMF begin passthrough '*' on SIP/13-082cf3a0
[Oct 26 15:30:53] DTMF[10688]: channel.c:2368 __ast_read: DTMF end '*' received on SIP/13-082cf3a0, duration 100 ms
[Oct 26 15:30:53] DTMF[10688]: channel.c:2409 __ast_read: DTMF end accepted with begin '*' on SIP/13-082cf3a0
[Oct 26 15:30:53] DTMF[10688]: channel.c:2424 __ast_read: DTMF end passthrough '*' on SIP/13-082cf3a0
[Oct 26 15:30:53] DTMF[10688]: channel.c:2430 __ast_read: DTMF begin '7' received on SIP/13-082cf3a0
[Oct 26 15:30:53] DTMF[10688]: channel.c:2440 __ast_read: DTMF begin passthrough '7' on SIP/13-082cf3a0
[Oct 26 15:30:54] DTMF[10688]: channel.c:2368 __ast_read: DTMF end '7' received on SIP/13-082cf3a0, duration 80 ms
[Oct 26 15:30:54] DTMF[10688]: channel.c:2409 __ast_read: DTMF end accepted with begin '7' on SIP/13-082cf3a0
[Oct 26 15:30:54] DTMF[10688]: channel.c:2424 __ast_read: DTMF end passthrough '7' on SIP/13-082cf3a0
[Oct 26 15:30:55]     -- Started music on hold, class 'default', on channel 'SIP/12-0838dab0'
[Oct 26 15:30:55]   == Parked SIP/12-0838dab0 on 701@parkedcalls. Will timeout back to extension [outgoing] , 1 in 180 seconds
[Oct 26 15:30:55]     -- <SIP/13-082cf3a0> Playing 'digits/7' (language 'it')
[Oct 26 15:30:55]     -- <SIP/13-082cf3a0> Playing 'digits/0' (language 'it')
[Oct 26 15:30:56]     -- <SIP/13-082cf3a0> Playing 'digits/1' (language 'it')
[Oct 26 15:30:56]     -- Added extension '701' priority 1 to parkedcalls
after a few seconds i hangup:
[Oct 26 15:30:56]     -- AGI Script Executing Application: (Congestion) Options: (7)
Comments:By: Brandon Kruse (bkruse) 2007-10-26 09:02:49

Is asterisk still in the call path?

A sip debug would help.

Why is this private?

-bk

By: Antonio Gallo (agx) 2007-10-26 09:18:12

uploaded for you the sip debug logs of the two peers

By: Joshua C. Colp (jcolp) 2007-10-31 20:07:42

Complete log output, not just the snippets provided would be much more helpful. It would also be useful to know whether this happens outside of an AGI or not.

By: Antonio Gallo (agx) 2007-11-02 03:06:36

I've attached full debug obtained with: set verbose 255, set debug 255, rtp debug, udptl debug, sip debug

Onto the top i also included sip.conf global and from the two peers.

By: Antonio Gallo (agx) 2007-11-02 03:12:42

As you asked i also tested without AGI just using a simple plain dialplan:  Dial(SIP/12,120,rtwkTWK); the problem is exactly the same.

By: Antonio Gallo (agx) 2007-11-20 06:34:09.000-0600

upgraded from 1.4.13 to 1.4.14, retesting the problem

By: Antonio Gallo (agx) 2007-11-20 06:49:25.000-0600

problem i described is solved but now i get a core when using it
allow me a few minutes to gather a gdb.txt

By: Antonio Gallo (agx) 2007-11-20 06:54:51.000-0600

ok i uploaded gdb.zip, the crash is always reproducible.

It does not happen:
- if the people that generate the call uses autopark

It always crash if:
- if the people being called uses autopark
- the crash happen at the end of the voice speaking: 701

By: Antonio Gallo (agx) 2007-11-20 07:25:46.000-0600

More investigation...

this is the CLI output before the crash:
    -- Started music on hold, class 'default', on channel 'SIP/13-082d5278'
  == Parked SIP/13-082d5278 on 701@interni. Will timeout back to extension [interni] s, 1 in 180
seconds
    -- <SIP/12-082d78c0> Playing 'digits/7' (language 'it')
    -- <SIP/12-082d78c0> Playing 'digits/0' (language 'it')
    -- <SIP/12-082d78c0> Playing 'digits/1' (language 'it')
    -- Added extension '701' priority 1 to interni
WARNING[20011] pbx.c: Channel 'SIP/13-082d5278' sent into invalid extension 's' in context 'interni', but no invalid handler
    -- Stopped music on hold on SIP/13-082d5278

i printed on CLI the variable just before the crash:

AST_MAX_FDS: 8
         x: 0
      chan: 0x82dd138
       fds: 0x82dd168
      fdsX: -1296717200
      rfds: 0xb7a63334
      efds: 0xb7a632b4

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread -1213842512 (LWP 16975)]
0xb7a6dacc in do_parking_thread (ignore=0x0) at res_features.c:1727
1727 if (chan->fds[x] == -1 || (!FD_ISSET(chan->fds[x], &rfds) && !FD_ISSET(chan->fds[x], &efds)))

i suppose that chan->fds[x] cannot be < -1 ? correct ?? ok i tried to change the code and avoid this to happen. So the crash is happening into a different point now.
    -- Added extension '701' priority 1 to interni
WARNING[20943]: pbx.c:2455 __ast_pbx_run: Channel 'SIP/13-082f7460' sent into invalid extension 's' in context 'interni', but no invalid handler
    -- Stopped music on hold on SIP/13-082f7460
  == SIP/13-082f7460 got tired of being parked
WARNING[20723]: channel.c:1238 ast_channel_free: PBX may not have been terminated properly on 'SIP/13-082f7460'
Program received signal SIGSEGV, Segmentation fault.

I'm uploading gdb.gz with the new backtrace details

By: Joshua C. Colp (jcolp) 2008-01-15 21:25:52.000-0600

I have confirmed that in latest versions this is all fixed.

By: Antonio Gallo (agx) 2008-02-07 10:53:48.000-0600

Tested with 1.4.17 the problem persist (sig fault), will post the gdb.txt output ASAP

By: Antonio Gallo (agx) 2008-02-08 02:15:03.000-0600

Retesting today with 1.4.18 that has just been released and i see in the changelog there's something about autoparking... will let you know ASAP.

By: Joshua C. Colp (jcolp) 2008-02-20 14:48:51.000-0600

If it does fail don't forget to attach the gdb bt.

By: Joshua C. Colp (jcolp) 2008-02-25 09:35:10.000-0600

The actual AGI you are using would also be useful. I just attempted (across multiple versions) to reproduce the issue and failed so something may be different between what I am doing and what you are doing in the AGI.

By: Joshua C. Colp (jcolp) 2008-03-19 14:45:32

Any news?

By: Joshua C. Colp (jcolp) 2008-03-26 12:51:21

Suspending due to lack of response. If still an issue and you can provide what I need I will happily look at this.

By: Antonio Gallo (agx) 2008-05-30 02:39:27

After reading ticket 12590 i had the chance to do more testing and got 2 new crashes onto a production box running 1.4.17


By: Antonio Gallo (agx) 2008-05-30 02:42:38

So gdb1.txt.gz is a core from a "clean" 1.4.17

Instead gdb2.txt.gz is a core from a 1.4.17 + res_features.c patched with the latest changes from 1.4.latest

By: Tilghman Lesher (tilghman) 2008-07-21 16:28:04

Please follow the instructions in doc/valgrind.txt.

By: Tilghman Lesher (tilghman) 2008-07-28 15:16:35

Closed due to lack of response.  If you can provide the requested information, you may reopen this issue.  If you need assistance, please ask a bug marshal in #asterisk-bugs on the Freenode IRC network.