[Home]

Summary:ASTERISK-02262: Call parking does not return to original caller after timeout.
Reporter:zebble (zebble)Labels:
Date Opened:2004-08-23 18:35:28Date Closed:2008-01-15 15:06:09.000-0600
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Resources/res_features
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:After timeout, the parked caller is always returned to default|s,1.  I've tested this from both the originator and recipient of the call.  Originator and recipient are both on Zap channels (T100P to TA750 ChannelBank).

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

Here are the first few lines after timeout occurs:

   -- Stopped music on hold on Zap/15-1
Aug 23 19:31:48 WARNING[327698]: pbx.c:1774 ast_pbx_run: Zap/15-1 already has a call record??
Aug 23 19:31:48 WARNING[327698]: cdr.c:143 ast_cdr_start: CDR on channel 'Zap/16-2' already started
   -- Executing NoOp("Zap/15-1", "s:default:515:Wade Weppler") in new stack
   -- Executing BackGround("Zap/15-1", "wwworks-greeting") in new stack
Comments:By: twisted (twisted) 2004-08-23 19:16:05

Well, depending on how you're parking the calls, it won't.   Give us a little more information... * version, the extensions line where you're parking the call, etc.

Also note:  

From "show application parkandannounce"

ParkAndAnnounce(announce:tempalte|timeout|dial|[return_context]):
Park a call into the parkinglot and announce the call over the console.
announce template: colon seperated list of files to announce, the workd PARKED
                  will be replaced by a say_digits of the ext where the call is parked in
timeout: time in seconds before the call reutns into the return context.
dial: The app_dial style resource to call to make the announcement.  Console/dsp calls the console.
return_context:  the goto style label to jump the call back into after timeout.  default=prio+1


Nowhere does it say it will return the call to the parker... just into a context.   I think you're expecting behaviour that is not intended.

By: zebble (zebble) 2004-08-23 21:06:09

Thanks Twisted,
I hope this will help:

I'm not using ParkAndAnnounce, just the built-in call parking abilities (include => parkedcalls).  I've tested this on 3 servers, and only 1 of them works as expected (parker receives a call back after timeout).  The other two systems dump the parked caller to the default,s,1 priority.

All setups are similar, but the one that works uses the TDM40B card, while the other two use a T100P+Adtran TA750 (if that makes a difference).  These are the relevant contexts:

Features.conf

[general]
parkext => 700
parkpos => 701-720
context => parkedcalls
parkingtime => 10                        ; Set to 10 for testing

Extensions.conf

[macro-stdexten]
exten => s,1,SetVar(CALLEDEXTEN=${ARG1})     ; Held for later use (not relavent here)
exten => s,2,Dial(${ARG2},20)
exten => s,3,Voicemail(u${ARG1})
exten => s,4,Hangup
exten => s,103,Voicemail(b${ARG1})
exten => s,104,Hangup

(all Zap phones are in the trusted context)
[trusted]
include => phones

[phones]
exten => 201,1,Macro(stdexten,201,Zap/9)
exten => 202,1,Macro(stdexten,202,Zap/10)

If I pick up the Zap/9 phone and call extension 202, 202 picks up, I flash the Zap/9 line, dial 700, it gives me 701, I hangup Zap/9.  Wait 10 seconds, and the parked caller is dumped to default,s,1.  If I dial 202 again, but this time I flash Zap/10 and park the call, the same thing happens to the other caller (I tried it both ways as someone on the list had it working one way but not the other).

By: twisted (twisted) 2004-08-23 22:29:50

Okay, this is why we need all pertanant information at the time of filing the bug :)

It appears that the return to extension is not working properly.  it's always returning to default,s,1.     Now that we have your bug validated, we may continue... ;)

By: zebble (zebble) 2004-08-30 14:56:29

Any progress on this?  I'd be more than willing to help if someone could point me in the right direction to save time wading through chan_zap and/or res_features.

By: Mark Spencer (markster) 2004-08-30 20:05:27

Should be fixed in CVS

By: Mark Spencer (markster) 2004-08-31 15:17:42

Please confirm if this is fixed, thanks!

By: zebble (zebble) 2004-08-31 21:56:12

This still doesn't seem to work.  It still defaults to default,s,1.

By: Mark Spencer (markster) 2004-08-31 22:18:31

Are you sure you're testing with Zap and not SIP?

By: Mark Spencer (markster) 2004-08-31 22:25:49

Sorry, found a typo.  Should be fixed now, please confirm.  Again, only with Zap, not SIP.  There is no way that I know of to fix this with SIP.

By: kb1_kanobe2 (kb1_kanobe2) 2004-09-01 01:58:30

Please see contributed patches 2339 and 2340 for tools to get more information on this issue.

I suspect you're using 'include => parking' inside a seperate context and getting to it using Goto(). This seems to create issues for the res_features parking code.

As a fix, define 'exten => s,1,NoOp(will it get here)' in the context that contains the 'include => parking' and see what happens.

Hope that helps.

By: zebble (zebble) 2004-09-01 11:42:23

Mark,

   Your fix appears to have worked, but changes the way music on hold works during the parking:

   How it "worked" before:

   - Caller places call to callee.
   - Callee picks up phone, flashes line, caller hears MoH, callee dials 700, both caller and callee hear MoH.
   - Callee hangs up.
   - 45 seconds later, callee gets a ringback, picks up and is reconnected with the caller. (This didn't work of course, it was sent to default,s,1)

   How it now works:

   - Caller places call to callee.
   - Callee picks up phone, flashes line, caller hears MoH, callee dials 700, Asterisk hangs up on callee, and caller no longer hears MoH (dead air).
   - Callee hangs up.
   - 45 seconds later, callee gets a ringback, picks up and is reconnecteed with the caller.  If the callee flashes the line again to either re-park or transfer, the caller will not hear MoH anymore.

Any ideas?  The dead air can be a problem, as the caller might think they've been hung up on.

By: Mark Spencer (markster) 2004-09-02 00:01:39

I'll try to duplicate this when I get home, i've never seen this.

By: Mark Spencer (markster) 2004-09-03 00:05:36

I cannot duplicate what you're describing.  Are you sure you weren't just smoking something that night?

By: zebble (zebble) 2004-09-03 00:47:40

When the smoke clears, I'll update CVS again and give it another try.  I tried it at least 3 times and got the same results a couple of days ago.

I just CVS'd on my home machine (TDM40B + X100P) and from internal extension to external extension, I get the same loss of MoH (notice the "-- Stopped music on hold on Parked/Zap/4-1<ZOMBIE>" is exactly when music stops playing for the party being parked):

   -- Starting simple switch on 'Zap/4-1'
   -- Executing Macro("Zap/4-1", "stdexten|100|Zap/2") in new stack
   -- Executing Dial("Zap/4-1", "Zap/2|20") in new stack
   -- Called 2
   -- Zap/2-1 is ringing
   -- Zap/2-1 is ringing
   -- Zap/2-1 answered Zap/4-1
   -- Attempting native bridge of Zap/4-1 and Zap/2-1
   -- Started three way call on channel 2
   -- Started music on hold, class 'random', on Zap/4-1
   -- Attempting native bridge of Zap/4-1 and Zap/2-1
   -- Starting simple switch on 'Zap/2-2'
 == Parked Zap/4-1 on 701. Will timeout back to macro-stdexten,s,1 in 45 seconds
   -- Playing 'digits/7' (language 'en')
   -- Stopped music on hold on Parked/Zap/4-1<ZOMBIE>
   -- Hungup 'Zap/2-1'
 == Spawn extension (macro-stdexten, s, 1) exited non-zero on 'Parked/Zap/4-1<ZOMBIE>' in macro 'stdexten'
 == Spawn extension (trusted, 200, 1) exited non-zero on 'Parked/Zap/4-1<ZOMBIE>'
   -- Playing 'digits/0' (language 'en')
   -- Playing 'digits/1' (language 'en')
   -- Added extension '701' priority 1 to parkedcalls
   -- Parking call to 'Zap/2-2'
   -- Hungup 'Zap/2-2'
 == Timeout for Zap/4-1 parked on 701. Returning to macro-stdexten,s,1
   -- Executing Dial("Zap/4-1", "Zap/2|20") in new stack
   -- Called 2
   -- Zap/2-1 is ringing
   -- Zap/2-1 is ringing
   -- Hungup 'Zap/2-1'
 == Spawn extension (macro-stdexten, s, 1) exited non-zero on 'Zap/4-1'
   -- Hungup 'Zap/4-1'

By: zebble (zebble) 2004-09-03 00:48:25

Sorry, that should have read "I just CVS'd on my home machine (TDM40B + X100P) and from internal extension to INTERNAL extension..."

By: zebble (zebble) 2004-09-03 16:41:22

I just confirmed the same problem at work on our T100P + TA750.

By: Mark Spencer (markster) 2004-09-03 20:22:39

What if you don't use a macro, what happens?

By: zebble (zebble) 2004-09-04 01:52:18

Looks and acts the same without macros:

   -- Starting simple switch on 'Zap/4-1'
   -- Executing Dial("Zap/4-1", "Zap/2|30") in new stack
   -- Called 2
   -- Zap/2-1 is ringing
   -- Zap/2-1 is ringing
   -- Zap/2-1 answered Zap/4-1
   -- Attempting native bridge of Zap/4-1 and Zap/2-1
   -- Started three way call on channel 2
   -- Started music on hold, class 'random', on Zap/4-1
   -- Attempting native bridge of Zap/4-1 and Zap/2-1
   -- Starting simple switch on 'Zap/2-2'
 == Parked Zap/4-1 on 701. Will timeout back to trusted,200,1 in 45 seconds
   -- Playing 'digits/7' (language 'en')
   -- Stopped music on hold on Parked/Zap/4-1<ZOMBIE>
   -- Hungup 'Zap/2-1'
 == Spawn extension (trusted, 200, 1) exited non-zero on 'Parked/Zap/4-1<ZOMBIE>'
   -- Playing 'digits/0' (language 'en')
   -- Playing 'digits/1' (language 'en')
   -- Added extension '701' priority 1 to parkedcalls
   -- Parking call to 'Zap/2-2'
   -- Hungup 'Zap/2-2'
 == Zap/4-1 got tired of being parked
   -- Hungup 'Zap/4-1'

By: Mark Spencer (markster) 2004-09-05 15:44:13

Are you hanging up before the digits finish playing?

By: zebble (zebble) 2004-09-05 15:56:45

Nope.  I press 700 and hear "7 0 1" and then Asterisk hangs up on me (fast busy sound), then I hang up the phone.  The person on hold hears music up until I press the last 0 in 700.

By: zebble (zebble) 2004-09-14 23:03:37

Any progress on this?

By: Mark Spencer (markster) 2004-09-14 23:16:34

I cannot duplicate this problem.  I may have to login and look.

By: zebble (zebble) 2004-09-14 23:54:43

Pick a time.

By: Mark Spencer (markster) 2004-10-01 23:21:55

Tomorrow I guess?

By: twisted (twisted) 2004-10-27 16:24:17

Update?  I cannot recreate this issue either, Parking works normally, along with MOH.

By: zebble (zebble) 2004-10-27 16:55:22

I'm still having the same problem.  The parked caller hears MOH until just after I press the last "0" in 700.  I'm using a clean CVS HEAD, dated 10/22/2004.  This happens on the 3 systems we've tested on, all running various versions of CVS HEAD.

I'm available Thursday evening or Sunday evening for any testing that might help.

By: twisted (twisted) 2004-11-14 21:19:32.000-0600

Any updates here? Is still an issue?

Gotta know..

--housekeeping

By: zebble (zebble) 2004-11-14 21:42:29.000-0600

Hi Twisted,

Yes, this is still an issue.  I haven't heard from Mark on coordinating a time.  No rush, so whenever Mark is available is fine.

By: twisted (twisted) 2004-12-01 00:43:16.000-0600

Talked to markster?  Still an issue?

--Housekeeping

By: Ryan Tucker (rtucker) 2004-12-01 17:10:54.000-0600

Oddly, I am having both of these problems (the returns-elsewhere thing as well as the music on hold thing) with a SIP-based situation using Cisco 7940's.

This box is CVS-HEAD-10/01/04-14:47:38.  As far as the music on hold goes, an attempt to park gets:

 -- Accepting AUTHENTICATED call from x.x.x.x, requested format = 4, actual format = 4
 -- Executing Dial("IAX2/voip1@voip1/16390", "SIP/blah-203&IAX2/blah-203||r") in new stack
 -- SIP/blah-203-07f1 answered IAX2/voip1@voip1/16390
(hits transfer on phone)
 -- Started music on hold, class 'default', on IAX2/voip1@voip1/16390
(dials 700)
 -- Executing Goto("SIP/blah-203-4944", "parkinglot|700|1") in new stack
 -- Goto (parkinglot,700,1)
 -- Executing Park("SIP/blah-203-4944", "") in new stack
== Parked SIP/blah-203-4944 on 701. Will timeout back to parkinglot,s,1 in 600 seconds
 -- Playing 'digits/7' (language 'en')
 -- Playing 'digits/0' (language 'en')
 -- Playing 'digits/1' (language 'en')
 -- Started music on hold, class 'default', on SIP/blah-203-4944
 -- Added extension '701' priority 1 to parkedcalls
== Spawn extension (parkinglot, s, 1) exited KEEPALIVE on 'SIP/blah-203-4944'
(hits transfer again)
 -- Stopped music on hold on IAX2/voip1@voip1/16390
 -- Stopped music on hold on SIP/blah-203-4944
== Spawn extension (blahgate, 203, 1) exited non-zero on 'SIP/blah-203-4944<ZOMBIE>'

I have the timeout set really high, as this is production and parkinglot,s,1 is a really lonely place for a call to go, so I haven't fully tested that part of it.

Two things I am going to try most urgently include:

1) Using an include => instead of a Goto()
2) Upgrading to the latest 1.x release

I will report back with the results...

By: Mark Spencer (markster) 2004-12-14 14:39:29.000-0600

Try latest CVS head, by the way.  Jim's made some changes.

By: zebble (zebble) 2004-12-14 15:36:22.000-0600

CVS as of 12/14/04, 4:30pm.

Same problem.  As soon as press the last "0" in "700" the musiconhold stops and the caller hears dead air.

By: Mark Spencer (markster) 2004-12-14 23:51:41.000-0600

Does it ring back to you as you expect though?

By: zebble (zebble) 2004-12-15 10:09:18.000-0600

Mark,

Yes it does, and it has worked fine since my 09-01-04 11:42 posting.  It's the musiconhold that broke when the original problem was fixed.

By: twisted (twisted) 2004-12-28 10:37:27.000-0600

Resolved origional issue.  Please re-open new bug to address MOH cutout after digit press if it's still an issue.

By: Digium Subversion (svnbot) 2008-01-15 15:06:09.000-0600

Repository: asterisk
Revision: 3682

U   trunk/channels/chan_zap.c
U   trunk/manager.c

------------------------------------------------------------------------
r3682 | markster | 2008-01-15 15:06:09 -0600 (Tue, 15 Jan 2008) | 2 lines

Make sure we behave properly for parking (bug ASTERISK-2262)

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

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