[Home]

Summary:ASTERISK-06779: [patch] pri_dchannel: Unable to move channel
Reporter:richardhh (richardhh)Labels:
Date Opened:2006-04-13 17:27:26Date Closed:2006-04-27 13:05:41
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/General
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) chan_zap_1.2.4_to_1.2.7.diff
Description:When making a call via Zap trunk (E1 110 digiumcard) the CLI is reporting this since ive updated to 1.2.7, zaptel 1.2.5:

   -- Executing Set("SIP/34-9977", "to_dial=Zap/g1/08004110411") in new stack
   -- Executing Dial("SIP/34-9977", "Zap/g1/08004110411||wW") in new stack
   -- Requested transfer capability: 0x00 - SPEECH
   -- Called g1/08004110411
Apr 14 00:18:48 WARNING[1790]: chan_zap.c:7791 pri_fixup_principle: Call specified, but not found?
Apr 14 00:18:48 WARNING[1790]: chan_zap.c:9045 pri_dchannel: Unable to move channel 1!
   -- Zap/1-1 answered SIP/34-9977
   -- Hungup 'Zap/1-1'
 == Spawn extension (apparate-mit-recht-alles, 008004110411, 5) exited non-zero on 'SIP/34-9977'
   -- Executing Hangup("SIP/34-9977", "") in new stack
 == Spawn extension (apparate-mit-recht-alles, h, 1) exited non-zero on 'SIP/34-9977'


Cant find any documentation what is causing this warning.

I have version 1.2.7, but the dropdownmenue for SVN is still max. 1.2.6, so i cant choose the right SVN while reporting this bug :P
Comments:By: richardhh (richardhh) 2006-04-13 18:30:44

Okm it looks like there is some kind og "channel shifting logic" active, trying to "stack" zap channels in order, or whatever is going on there :P

Its causing a lot of warning cause of this scenario:
I call out on zap channel 1 backinto the pbx into zap channel 2.
Zap channel 2 has a queue with an external PSNT member, so the call is doing this:
Zap 1: Outgoing
Zap2: Answering the call
Zap3: outgoing for the external queue member

The "channel shift logic" wont recognize that channel 2 is used and channel 3 is used.

This is the CLI for the call (numbers are replaced party with dots by this note):

   -- Executing Set("SIP/34-f232", "to_dial=Zap/g1/....99") in new stack
   -- Executing Dial("SIP/34-f232", "Zap/g1/....99||wW") in new stack
   -- Requested transfer capability: 0x00 - SPEECH
   -- Called g1/....99
Apr 14 01:15:35 WARNING[1790]: chan_zap.c:7791 pri_fixup_principle: Call specified, but not found?
Apr 14 01:15:35 WARNING[1790]: chan_zap.c:9045 pri_dchannel: Unable to move channel 1!
   -- Executing Set("Zap/18-1", "_ALERT_INFO=http://....../rings/.....wav") in new stack
   -- Executing Set("Zap/18-1", "CALLERID(name)=ACD") in new stack
   -- Executing Set("Zap/18-1", "dummy=.....34") in new stack
   -- Executing Set("Zap/18-1", "CALLERID(number)=.....34") in new stack
   -- Executing Answer("Zap/18-1", "") in new stack
   -- Accepting call from '.....34' to '....99' on channel 0/18, span 1
   -- Executing GotoIfTime("Zap/18-1", "06:59-21:29|mon-thu|*|*?default|....99|8") in new stack
   -- Executing Queue("Zap/18-1", "acdon_nacht") in new stack
   -- Started music on hold, class 'default', on Zap/18-1
   -- Called SIP/27
   -- Called SIP/26
   -- Called SIP/25
   -- Called SIP/22
   -- Called SIP/21
   -- Requested transfer capability: 0x00 - SPEECH
   -- Called Zap/g1/017.....2
   -- Zap/1-1 answered SIP/34-f232
   -- Moving call from channel 18 to channel 2
Apr 14 01:15:35 WARNING[1790]: chan_zap.c:7744 pri_fixup_principle: Can't fix up channel from 18 to 2 because 2 is already in use
Apr 14 01:15:35 WARNING[1790]: chan_zap.c:9045 pri_dchannel: Unable to move channel 2!
   -- SIP/21-4f49 is ringing
   -- SIP/26-30fa is ringing
   -- SIP/27-a171 is ringing
   -- SIP/25-2121 is ringing
   -- SIP/22-2f4d is ringing
   -- SIP/21-4f49 is ringing
   -- SIP/26-30fa is ringing
   -- SIP/27-a171 is ringing
   -- SIP/25-2121 is ringing
   -- SIP/22-2f4d is ringing
   -- Hungup 'Zap/1-1'
 == Spawn extension (apparate-mit-recht-alles, ....99, 5) exited non-zero on 'SIP/34-f232'
   -- Executing Hangup("SIP/34-f232", "") in new stack
 == Spawn extension (apparate-mit-recht-alles, h, 1) exited non-zero on 'SIP/34-f232'
   -- Channel 0/18, span 1 got hangup request
   -- Stopped music on hold on Zap/18-1
   -- Hungup 'Zap/2-1'
 == Spawn extension (default, ....99, 7) exited non-zero on 'Zap/18-1'
   -- Executing Hangup("Zap/18-1", "") in new stack
 == Spawn extension (default, h, 1) exited non-zero on 'Zap/18-1'
   -- Hungup 'Zap/18-1'



What is this "channelsorting" doing there and what is the purpose of it ?

There are PBX configs out there where channels are configured like
1-10 outgoing
11-20 incoming

Should there be a "resorting" ? Nah....

By: dillec (dillec) 2006-04-19 07:27:15

i can confirm that behavior with

gentoo 2006.0 / libpri 1.22-pr1 / Asterisk 1.2.7.1

Apr 19 13:41:06 WARNING[18510]: chan_zap.c:7791 pri_fixup_principle: Call specified, but not found?
Apr 19 13:41:06 WARNING[18510]: chan_zap.c:9045 pri_dchannel: Unable to move channel 1!

The problem is non existent in 1.2.4.

It seams that chan_zap searches the principle channel on the first span and can't find it cause it is located on the second.

Looking on a diff of chan_zap.c of 1.2.4 to 1.2.7.1 there are changes on the case "PRI_EVENT_SETUP_ACK" (line 9034). In 1.2.4 there is no use of pri_fixup_principle.

The compared parts are listet in the attached file "chan_zap_1.2.4_to_1.2.7.diff"

By: Nickolay Shestakov (npshe) 2006-04-20 11:46:43

I had the same problem after upgrading from Asterisk-1.2.4.
FC3, Asterisk-1.2.7.1, zaptel-1.2.5, libpri-1.2.2, TE210P.
After experimenting with zapata.conf, when I changed pridialplan=local and prilocaldialplan=local (previously was unknown), the problem disappeared.

By: Tomica Crnek (tcrnek) 2006-04-21 03:07:47

One more confirmation of such situation

Apr 21 10:04:25 WARNING[13474]: chan_zap.c:7860 pri_fixup_principle: Call specified, but not found?
Apr 21 10:04:25 WARNING[13474]: chan_zap.c:9124 pri_dchannel: Unable to move channel 1!

And even more, lot of calls break while people are talking and I can't see any reason for that.

By: Laurent (lorenzo) 2006-04-21 05:46:18

Same thing on FC2 Asterisk 1.2.7.1 Zaptel 1.2.5 and libpri 1.2.2

Apr 21 11:58:59 WARNING[5755]: chan_zap.c:7791 pri_fixup_principle: Call specified, but not found?
Apr 21 11:58:59 WARNING[5755]: chan_zap.c:9045 pri_dchannel: Unable to move channel 18!

I confirm, lot of calls hangup after messages appear.



By: Daniel Prior (dpits) 2006-04-23 09:11:37

No problem with 1.2.4 but now with 1.2.6:

   -- Executing Dial("SIP/123-d60b", "Zap/g1dc/") in new stack
   -- Requested transfer capability: 0x00 - SPEECH
   -- Called g1dc/
Apr 23 15:50:52 WARNING[7471]: chan_zap.c:8386 pri_fixup_principle: Call specified, but not found?
Apr 23 15:50:52 WARNING[7471]: chan_zap.c:10250 pri_dchannel: Unable to move channel 1!
   -- Hungup 'Zap/1-1'


exten => 999,1,Dial(Zap/g1dc/)
exten => 999,2,Hangup

By: Rudolf E. Steiner (res) 2006-04-25 18:26:11

Also 1.2.5 works correctly in this matter. The problem begins on version 1.2.6.



By: Tomica Crnek (tcrnek) 2006-04-26 15:53:40

Hi to all of you!

As nobody from Digium/Asterisk responded to this report, I have sent the notice to them directly. I hope somebody will read it and they will try to solve it shortly.

Regards!
Tomica



By: Serge Vecher (serge-v) 2006-04-26 16:00:27

did anybody try a suggestion in 6986 http://bugs.digium.com/view.php?id=6986?

By: Laurent (lorenzo) 2006-04-26 18:48:39

Hi,

I hope this ticket will be took in consideration by Digium quickly.

Actualy I had to downgrade my Asterisk Box :(
Some changelogs validate by our staff on Mixmonitor application can be used only with version 1.2.6.

But when you see that a half E1 hangs up! You have only one solution : downgrade !



By: Matthew Fredrickson (mattf) 2006-04-27 11:14:35

Try using the latest 1.2 from svn.  I just made a correction to it to fix this.  You'll need to get libpri as well, since I had to make a change there as well.

By: Rudolf E. Steiner (res) 2006-04-27 12:52:36

It seems to be fixed and it works fine.

Thank's for the good work, mattf.