[Home]

Summary:ASTERISK-08545: Calls coming on off of a AgentCallbackLogin() queue get dropped upon transfer
Reporter:Peter Zieba (pzieba)Labels:
Date Opened:2007-01-10 12:26:16.000-0600Date Closed:2007-06-30 09:20:01
Priority:MajorRegression?No
Status:Closed/CompleteComponents:Channels/chan_sip/Transfers
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:( 0) attendedtransfer.zip
( 1) debug_petergg.txt
( 2) verbosedebug-nok.txt
( 3) verbosedebug-ok.txt
Description:We are trying to use AgentCallbackLogin() for calls coming in off of a TE410P. Internal phones are all SIP. Upon trying to tranfer a call from one SIP phone to another, the call gets dropped.

Problem does not occur with AddQueueMember(). We however, require the functionality of AddQueueMember() as most every queue monitoring software does not work with dynamic agents.

Asterisk has proven rock solid in our environment, until we tried using it for a call center. We need the ability to have an agent log into any phone at any desk they sit at. As such, AddQueueMember() is not suitable in our environment. We also need the ability to monitor agent and queue statistics -- every piece of software available to do this does not seem to work with dynamic agents.

At this point, we cannot migrate off of our old Nortel system.

Asterisk 1.4 actually crashes upon trying to do the above (Bug 8716)

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

09:04.0 Communication controller: Digium, Inc. Wildcard TE410P Quad-Span togglable E1/T1/J1 card 3.3v (rev 02)
Poweredge 2850 2GB RAM
Polycom IP430 phones
Comments:By: Serge Vecher (serge-v) 2007-01-10 13:40:03.000-0600

again, please produce some logs ...

By: Edgar.Osorio (orked) 2007-01-12 17:15:18.000-0600

We had the same issue. It apears that something is broken in the release the Asterisk, after some help from Digium we fixed the problem installing the las svn. Give a shot. We have almost the same confing only that we have Mitel 5220 Phones

By: petergg (petergg) 2007-01-16 04:49:16.000-0600

This is only by an "Attended transfer".
See bug: http://bugs.digium.com/view.php?id=7334

Blind Transfer works good.



By: Serge Vecher (serge-v) 2007-01-17 08:35:31.000-0600

petergg: what Asterisk release are you using? Also, please enable "sip debug" ...

By: petergg (petergg) 2007-01-17 11:26:31.000-0600

Asterisk 1.2.14

i can send more debug-files on 02-12-2007.



By: James W. Brinkerhoff (jwb) 2007-02-01 15:01:31.000-0600

I have the same exact issue running 1.2.14 with AgentCallback and attended transfers (upgraded from 1.2.7 where the issue did not exist).   I can do the same sip debug if you'd like.

By: James W. Brinkerhoff (jwb) 2007-02-01 15:02:27.000-0600

To add more info (if its important), I'm using Polycom phones and have tested that  the attended transfer problem seems to only affect calls that came in via a Queue/Agent

By: petergg (petergg) 2007-02-01 15:46:48.000-0600

yes, please add your debug-logs. We use Thomson ST2030 - Devices

By: Thomas Gick (u0000064) 2007-02-12 06:34:38.000-0600

I have the same issue running 1.2.14 with AgentCallback, too.
I can confirm that the attended transfer problem seems to only affect calls that came in via a Queue/Agent. If a phone is called directly the attended transfer is working. Blind Transfers are working independently from calling direct or via queue.

Here are some extracts from my config:

extensions.conf

AgentCallbackLogin(${CALLERIDNUM}|s|@sip_in)

Queue(helpdesk|tT|||600)

AGENT_DIAL_OPTIONS=tTowWhHm
AGENT_DIAL_TIMEOUT=310

exten => _88ZXX,4,Dial(SIP/${EXTEN},${AGENT_DIAL_TIMEOUT},${AGENT_DIAL_OPTIONS})

--

agents.conf

[general]
persistentagents=yes
autologoff=0

[agents]
group=1
agent => 88801,88801,88801
agent => 88802,88802,88802

--

queues.conf

[helpdesk]
strategy=ringall
joinempty=no
musiconhold = queue_ite

member => Agent/88520
member => Agent/88920

We use only Snom360 phones.

Thomas

By: Serge Vecher (serge-v) 2007-02-12 08:28:45.000-0600

guys, can you please try a one-line patch in bug 8064 posted in note #0058934) by clegall_proformatique?

By: Thomas Gick (u0000064) 2007-02-12 10:32:01.000-0600

It seems to work !!

But i will certainly keep track of it.

thanks a lot!
Thomas

By: Serge Vecher (serge-v) 2007-02-12 10:47:18.000-0600

thanks for report, u0000064. What will help the acceptance of this patch into 1.2 ASAP is additional debugging information. Can you please produce two reports, one with patch applied and another without per following:

1) Prepare test environment (reduce the amount of unrelated traffic on the server);
2) Make sure your logger.conf has the following line:
  console => notice,warning,error,debug
3) restart Asterisk with the following command:
  'asterisk -Tvvvvvdddddngc | tee /tmp/verbosedebug.txt'
4) Enable SIP transaction logging with the following CLI commands:
set debug 4
set verbose 4
sip debug
5) Reproduce the problem
6) Trim startup information and attach verbosedebug.txt to the issue.

By: Thomas Gick (u0000064) 2007-02-12 13:37:35.000-0600

Hi,

I produced the 2 verbosedebug files (in attendedtransfer.zip) during the following test sequence:

I called the queue number 89001 from a zaptel device 344.
Behind number 89001 is a queue named "ite" in which only agent 88344 was logged in. I took the call placed it on hold and called number 182 which is a second zap device. After that i tried to transfer 344 to 182.

with chan_sip.c.ok everything was ok. The debug messages are in verbosedebug-ok.txt.
with chan_sip.c.nok it didn?t work. The debug messages are in verbosedebug-nok.txt.

I don?t know whether it plays a role but chan_sip.c.nok is not the original chan_sip.c from 1.2.14.
It?s a version in which the appended patch pickup-mgernoth-1.2.14.patch was applied to make DirectPickup working.
chan_sip.c.ok differs from chan_sip.c.nok in only 1 line

<                               attempt_transfer(p, p->refer_call);
> attempt_transfer(p->refer_call, p);


Here are some relevant parts of my config


extensions.conf

exten => 89001,1,Answer
exten => 89001,2,Macro(chooselang)
exten => 89001,3,Set(__FROMQ=yes)
exten => 89001,4,Queue(ite|tT|||10)
exten => 89001,5,Hangup

[macro-chooselang]
exten => s,1,Set(INTERNATIONALEVORWAHL=${CALLERID(number):0:2})
exten => s,2,Noop(${INTERNATIONALEVORWAHL})
exten => s,3,GotoIf($[${INTERNATIONALEVORWAHL} = 00]?10,4)
exten => s,4,Set(LANGUAGE()=de)
exten => s,10,Set(LANGUAGE()=en)


queues.conf

[ite]
strategy=ringall
joinempty=no
musiconhold = queue_helpdesk
maxlen=3
announce-frequency = 90
announce-holdtime = no
periodic-announce = queue-thankyou
periodic-announce-frequency = 60 ; every 60 seconds
member => Agent/88344
member => Agent/88906

sip.conf

[88344]
disallow=all
allow=alaw
type=friend
host=dynamic                    ; This peer register with us
defaultip=10.1.18.2
callgroup=1
pickupgroup=1
callerid=<344>
subscribecontext=hints
mailbox=344

best regards,
Thomas

By: petergg (petergg) 2007-02-14 09:11:54.000-0600

the patch works perferctly :-)

By: Joshua C. Colp (jcolp) 2007-02-16 19:22:41.000-0600

Fixed in 1.2 as of revision 55073, 1.4 as of revision 55086, and trunk as of revision 55087. Peace!