[Freeswitch-users] Stale channels with mod_callcenter in uuid-standby mode

Saumar Hajjar saumar at uol.com.br
Fri Apr 24 00:41:07 MSD 2015


Hi Ítalo.

I was planning to file a bug report, but tried the list first, just in 
case it was a known issue or just a misinterpretation of the documentation.
I'll collect the traces and submit it.

Thanks.

On 23/04/2015 17:15, Ítalo Rossi wrote:
> Hi Saumar,
>
> Can you please file a JIRA?
>
> Attach your dialplan example, FreeSWITCH debug logs with siptrace enabled.
>
> I'll try to replicate it.
>
> On Thu, Apr 23, 2015 at 1:42 PM Saumar Hajjar <saumar at uol.com.br 
> <mailto:saumar at uol.com.br>> wrote:
>
>     (Reposting: the 1st "version" didn't reach the list for some reason)
>
>     After a mod_callcenter member hangs up, its channel is still
>     present in
>     the system, and its uuid is unkillable.
>     I believe FS team calls it a "stale channel".
>     The uuid-standby agent won't receive any more calls, until he/she
>     hangs
>     up - what would make uuid-standby a "agent hangup and call again"
>     mode.
>
>     What I'm trying to do, is nothing fancy. Basically I'm following the
>     mod_callcenter documentation without much tweaking.
>     Here's the test case setup:
>
>     - Freeswitch with default config, mod_callcenter enabled also with
>     default config
>     Tested with the following versions:
>     1.4.18+git~20150312T185523Z~4eed221b69~64bit (git 4eed221 2015-03-12
>     18:55:23Z 64bit)
>     1.5.15b+git~20150117T062211Z~46cf8a4dce~64bit (git 46cf8a4 2015-01-17
>     06:22:11Z 64bit)
>     1.5.15b+git~20150421T235828Z~a4d877c189~64bit (git a4d877c 2015-04-21
>     23:58:28Z 64bit)
>
>     - Dialplan mod_callcenter entries:
>     <!-- Member dials *91 to enter queue support at default -->
>     <extension>
>          <condition field="destination_number" expression="^\*91$">
>              <action application="callcenter" data="support at default"/>
>          </condition>
>     </extension>
>
>     <!-- Agent dials 4099 to wait for uuid-standby calls -->
>     <extension>
>          <condition field="destination_number" expression="^(4099)$">
>              <action application="set" data="transfer_after_bridge=4099"/>
>     <!-- Remove this if you just want to get a single call -->
>              <action application="sleep" data="300"/> <!-- Small delay for
>     safety needs -->
>              <action application="set" data="res=${callcenter_config(agent
>     set uuid ${caller_id_number}@default '${uuid}')}" />
>              <action application="set" data="res=${callcenter_config(agent
>     set type ${caller_id_number}@default 'uuid-standby')}" />
>              <action application="set" data="res=${callcenter_config(agent
>     set status ${caller_id_number}@default 'Available (On Demand)')}" />
>              <action application="set" data="res=${callcenter_config(agent
>     set state ${caller_id_number}@default 'Waiting')}" />
>              <action application="set"
>     data="cc_warning_tone=tone_stream://%(200,0,500,600,700)"/>
>              <action application="answer" />
>              <action application="playback" data="$${hold_music}"/>
>          </condition>
>     </extension>
>
>     - Start FS and add a test agent:
>     callcenter_config agent add 1002 at default uuid-standby
>
>     - Agent (extension 1002) dials 4099:
>     The agent starts hearing music on hold.
>
>     show channels
>     uuid,direction,created,created_epoch,name,state,cid_name,cid_num,ip_addr,dest,application,application_data,dialplan,context,read_codec,read_rate,read_bit_rate,write_codec,write_rate,write_bit_rate,secure,hostname,presence_id,presence_data,callstate,callee_name,callee_num,callee_direction,call_uuid,sent_callee_name,sent_callee_num,initial_cid_name,initial_cid_num,initial_ip_addr,initial_dest,initial_dialplan,initial_context
>     a1c9b1a4-7926-4da9-9041-100df3d1bbbb,inbound,2015-04-22
>     18:01:46,1429736506,sofia/internal/1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,CS_EXECUTE,1002,1002,192.168.0.103,4099,playback,local_stream://moh,XML,default,PCMU,8000,64000,PCMU,8000,64000,,hajjar-notebook,1002@192.168.0.136
>     <mailto:1002 at 192.168.0.136>,,ACTIVE,,,,,,,1002,1002,192.168.0.103,4099,XML,default
>
>     callcenter_config agent list
>     name|system|uuid|type|contact|status|state|max_no_answer|wrap_up_time|reject_delay_time|busy_delay_time|no_answer_delay_time|last_bridge_start|last_bridge_end|last_offered_call|last_status_change|no_answer_count|calls_answered|talk_time|ready_time
>     1002 at default|single_box|a1c9b1a4-7926-4da9-9041-100df3d1bbbb|uuid-standby||Available
>     (On
>     Demand)|Waiting|1|5|0|5|5|1429734669|1429735319|1429734669|1429736506|0|0|0|0
>
>     - Member (extension 1000) dials *91:
>     The member gets bridged to the uuid-stand by agent. Great.
>
>     show channels
>     uuid,direction,created,created_epoch,name,state,cid_name,cid_num,ip_addr,dest,application,application_data,dialplan,context,read_codec,read_rate,read_bit_rate,write_codec,write_rate,write_bit_rate,secure,hostname,presence_id,presence_data,callstate,callee_name,callee_num,callee_direction,call_uuid,sent_callee_name,sent_callee_num,initial_cid_name,initial_cid_num,initial_ip_addr,initial_dest,initial_dialplan,initial_context
>     a1c9b1a4-7926-4da9-9041-100df3d1bbbb,inbound,2015-04-22
>     18:01:46,1429736506,sofia/internal/1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,CS_EXCHANGE_MEDIA,1000,1000,192.168.0.103,4099,uuid_bridge,d298fa41-b855-4027-ba4a-ac112df641d5,XML,default,PCMU,8000,64000,PCMU,8000,64000,,hajjar-notebook,1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,,ACTIVE,1002,1002,SEND,d298fa41-b855-4027-ba4a-ac112df641d5,1000,1000,1002,1002,192.168.0.103,4099,XML,default
>     d298fa41-b855-4027-ba4a-ac112df641d5,inbound,2015-04-22
>     18:04:47,1429736687,sofia/internal/1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,CS_SOFT_EXECUTE,1000,1000,192.168.0.120,*91,uuid_bridge,a1c9b1a4-7926-4da9-9041-100df3d1bbbb,XML,default,PCMU,8000,64000,PCMU,8000,64000,,hajjar-notebook,1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,,ACTIVE,1002,1002,SEND,d298fa41-b855-4027-ba4a-ac112df641d5,1002,1002,1000,1000,192.168.0.120,*91,XML,default
>
>     2 total.
>
>     show calls
>     uuid,direction,created,created_epoch,name,state,cid_name,cid_num,ip_addr,dest,presence_id,presence_data,callstate,callee_name,callee_num,callee_direction,call_uuid,hostname,sent_callee_name,sent_callee_num,b_uuid,b_direction,b_created,b_created_epoch,b_name,b_state,b_cid_name,b_cid_num,b_ip_addr,b_dest,b_presence_id,b_presence_data,b_callstate,b_callee_name,b_callee_num,b_callee_direction,b_sent_callee_name,b_sent_callee_num,call_created_epoch
>     d298fa41-b855-4027-ba4a-ac112df641d5,inbound,2015-04-22
>     18:04:47,1429736687,sofia/internal/1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,CS_SOFT_EXECUTE,1000,1000,192.168.0.120,*91,1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,,ACTIVE,1002,1002,SEND,d298fa41-b855-4027-ba4a-ac112df641d5,hajjar-notebook,1002,1002,a1c9b1a4-7926-4da9-9041-100df3d1bbbb,inbound,2015-04-22
>     18:01:46,1429736506,sofia/internal/1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,CS_EXCHANGE_MEDIA,1000,1000,192.168.0.103,4099,1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,,ACTIVE,1002,1002,SEND,1000,1000,1429736687
>
>     1 total.
>
>     callcenter_config agent list
>     name|system|uuid|type|contact|status|state|max_no_answer|wrap_up_time|reject_delay_time|busy_delay_time|no_answer_delay_time|last_bridge_start|last_bridge_end|last_offered_call|last_status_change|no_answer_count|calls_answered|talk_time|ready_time
>     1002 at default|single_box|a1c9b1a4-7926-4da9-9041-100df3d1bbbb|uuid-standby||Available
>     (On Demand)|In a queue
>     call|1|5|0|5|5|1429736687|1429735319|1429736687|1429736506|0|1|0|0
>
>     - Member hangs up
>     show channels
>     uuid,direction,created,created_epoch,name,state,cid_name,cid_num,ip_addr,dest,application,application_data,dialplan,context,read_codec,read_rate,read_bit_rate,write_codec,write_rate,write_bit_rate,secure,hostname,presence_id,presence_data,callstate,callee_name,callee_num,callee_direction,call_uuid,sent_callee_name,sent_callee_num,initial_cid_name,initial_cid_num,initial_ip_addr,initial_dest,initial_dialplan,initial_context
>     a1c9b1a4-7926-4da9-9041-100df3d1bbbb,inbound,2015-04-22
>     18:01:46,1429736506,sofia/internal/1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,CS_EXECUTE,1002,1002,192.168.0.103,4099,playback,local_stream://moh,XML,default,PCMU,8000,64000,PCMU,8000,64000,,hajjar-notebook,1002@192.168.0.136
>     <mailto:1002 at 192.168.0.136>,,ACTIVE,1000,1000,RECV,d298fa41-b855-4027-ba4a-ac112df641d5,,,1002,1002,192.168.0.103,4099,XML,default
>     d298fa41-b855-4027-ba4a-ac112df641d5,inbound,2015-04-22
>     18:04:47,1429736687,sofia/internal/1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,CS_SOFT_EXECUTE,1000,1000,192.168.0.120,*91,uuid_bridge,a1c9b1a4-7926-4da9-9041-100df3d1bbbb,XML,default,PCMU,8000,64000,PCMU,8000,64000,,hajjar-notebook,1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,,ACTIVE,1002,1002,SEND,d298fa41-b855-4027-ba4a-ac112df641d5,1002,1002,1000,1000,192.168.0.120,*91,XML,default
>
>     2 total.
>
>     show calls
>     uuid,direction,created,created_epoch,name,state,cid_name,cid_num,ip_addr,dest,presence_id,presence_data,callstate,callee_name,callee_num,callee_direction,call_uuid,hostname,sent_callee_name,sent_callee_num,b_uuid,b_direction,b_created,b_created_epoch,b_name,b_state,b_cid_name,b_cid_num,b_ip_addr,b_dest,b_presence_id,b_presence_data,b_callstate,b_callee_name,b_callee_num,b_callee_direction,b_sent_callee_name,b_sent_callee_num,call_created_epoch
>     d298fa41-b855-4027-ba4a-ac112df641d5,inbound,2015-04-22
>     18:04:47,1429736687,sofia/internal/1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,CS_SOFT_EXECUTE,1000,1000,192.168.0.120,*91,1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136>,,ACTIVE,1002,1002,SEND,d298fa41-b855-4027-ba4a-ac112df641d5,hajjar-notebook,1002,1002,a1c9b1a4-7926-4da9-9041-100df3d1bbbb,inbound,2015-04-22
>     18:01:46,1429736506,sofia/internal/1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,CS_EXECUTE,1002,1002,192.168.0.103,4099,1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136>,,ACTIVE,1000,1000,RECV,,,1429736687
>
>     1 total.
>
>     callcenter_config agent list
>     name|system|uuid|type|contact|status|state|max_no_answer|wrap_up_time|reject_delay_time|busy_delay_time|no_answer_delay_time|last_bridge_start|last_bridge_end|last_offered_call|last_status_change|no_answer_count|calls_answered|talk_time|ready_time
>     1002 at default|single_box|a1c9b1a4-7926-4da9-9041-100df3d1bbbb|uuid-standby||Available
>     (On
>     Demand)|Waiting|1|5|0|5|5|1429736687|1429735319|1429736687|1429736990|0|1|0|0
>
>     Here the agent gets transfered back to uuid-standby extension and
>     restarts hearing moh.
>     Its state is "Waiting" - but he/she won't answer new calls. But the
>     state is "Waiting" only because it got overridden by the dialplan.
>     In my tests, removing the callcenter_config(agent set state..) from
>     dialplan (and controlling agent state via CLI), I've noticed that the
>     agent state never gets back to "Idle" (if On Demand) or "Waiting". It
>     gets stuck in "In a queue call".
>
>     Trying to uuid_kill the member uuid, results in -ERR No such channel!
>
>     - When agent finally hangs up:
>     2015-04-22 18:21:56.804183 [NOTICE] sofia.c:952 Hangup
>     sofia/internal/1002 at 192.168.0.136 <mailto:1002 at 192.168.0.136>
>     [CS_EXECUTE] [NORMAL_CLEARING]
>     2015-04-22 18:21:56.824219 [NOTICE] switch_core_session.c:1641
>     Session 6
>     (sofia/internal/1000 at 192.168.0.136 <mailto:1000 at 192.168.0.136>) Ended
>     2015-04-22 18:21:56.824219 [NOTICE] switch_core_session.c:1645 Close
>     Channel sofia/internal/1000 at 192.168.0.136
>     <mailto:1000 at 192.168.0.136> [CS_DESTROY]
>     2015-04-22 18:21:57.104198 [NOTICE] switch_core_session.c:1641
>     Session 4
>     (sofia/internal/1002 at 192.168.0.136 <mailto:1002 at 192.168.0.136>) Ended
>     2015-04-22 18:21:57.104198 [NOTICE] switch_core_session.c:1645 Close
>     Channel sofia/internal/1002 at 192.168.0.136
>     <mailto:1002 at 192.168.0.136> [CS_DESTROY]
>
>     show channels, show calls return 0
>
>     If callcenter_config(agent set state...) is commented out in dialplan,
>     callcenter_config agent list shows the agent as "Idle". Meaning
>     mod_callcenter only perceives the call has been disconnected,
>     after the
>     agent hangs up...
>
>     I'm not blaming mod_callcenter - maybe it's related to
>     transfer_after_bridge.
>     I already tried using exec_after_bridge_app/arg to a script that
>     sleeps
>     and transfer back to 4099. I also tried increasing the dialplan sleep.
>     I'd appreciate any advice on how to make uuid-standby work.
>
>     Thanks in advance,
>
>     Saumar
>
>
>
>
>     _________________________________________________________________________
>     Professional FreeSWITCH Consulting Services:
>     consulting at freeswitch.org <mailto:consulting at freeswitch.org>
>     http://www.freeswitchsolutions.com
>
>     Official FreeSWITCH Sites
>     http://www.freeswitch.org
>     http://confluence.freeswitch.org
>     http://www.cluecon.com
>
>     FreeSWITCH-users mailing list
>     FreeSWITCH-users at lists.freeswitch.org
>     <mailto:FreeSWITCH-users at lists.freeswitch.org>
>     http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
>     UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
>     http://www.freeswitch.org
>
>
>
> _________________________________________________________________________
> Professional FreeSWITCH Consulting Services:
> consulting at freeswitch.org
> http://www.freeswitchsolutions.com
>
> Official FreeSWITCH Sites
> http://www.freeswitch.org
> http://confluence.freeswitch.org
> http://www.cluecon.com
>
> FreeSWITCH-users mailing list
> FreeSWITCH-users at lists.freeswitch.org
> http://lists.freeswitch.org/mailman/listinfo/freeswitch-users
> UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-users
> http://www.freeswitch.org

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20150423/4bbf43a3/attachment-0001.html 


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list