Commit Graph

185 Commits

Author SHA1 Message Date
Italo Rossi 0781fafb7c Merge pull request #1464 in FS/freeswitch from ~BODJI/freeswitch:FS-10299-mod_callcenter-database-blocking to master
* commit 'b185cc6e2471bd83e560f9c75a5828537848418e':
  FS-10299: [mod_callcenter] Add an option to disable global database lock on mod_callcenter
2018-02-02 14:27:49 +00:00
Italo Rossi 19e543ba3d FS-10521 FS-10612 [mod_callcenter] Member exit reason set to EXIT_WITH_KEY when it should be TIMEOUT and only set EXIT_WITH_KEY if the key pressed is set at cc_exit_keys 2018-01-25 10:49:59 -03:00
Mathieu Bodjikian (MacBook-Pro-de-Mathieu.local) b185cc6e24 FS-10299: [mod_callcenter] Add an option to disable global database lock on mod_callcenter 2018-01-24 20:46:39 +01:00
Italo Rossi 32954c1b91 FS-10772 - [mod_callcenter] commit 404c69698e added an invalid WHERE syntax, fixed. 2017-11-03 14:47:19 -03:00
Italo Rossi 298a468edf FS-10771 - [mod_callcenter] s/member_channel/member_session when session logging 2017-11-03 13:38:04 -03:00
Italo Rossi 15455f7060 FS-10738 [mod_callcenter] - setting bridged = 0 if member give up too early 2017-10-17 20:32:35 -03:00
Italo Rossi 94e943963f FS-10738 [mod_callcenter] - Do not set state to Idle if On Demand agents do not answer call 2017-10-17 16:26:57 -03:00
Italo Rossi 75c56a0007 FS-10661: [mod_callcenter] Making cc_export_vars work with uuid-standby agents 2017-09-14 22:18:20 -03:00
Italo Rossi 77dcd007ad FS-10660: [mod_callcenter] Park agent session before play cc_warning_tone - avoid double playback causing distorted audio 2017-09-14 21:02:56 -03:00
Italo Rossi 7f31967a31 FS-10666: [mod_callcenter] Adding callcenter_break agent api
callcenter_break agent <uuid> can be called with an uuid that represents
an outbound session created to call an agent.

The current behavior of mod_callcenter is to keep watching this channel
until it is hangup, once the hangup happens the bridge-agent-end and
member-queue-end events are fired, agent is released on the database
so it can receive more calls and member is also updated on database.

If you do not want to the agent channel hangup to release the agent you can
call this app with the agent session uuid and the agent will be released and
available to receive more calls. This is useful when the agent is located on a
remote freeswitch box and transfer the call internally, the original leg between
the first FreeSWITCH and the remote box remains live and the agent will only be
Available when the original call hangup.
2017-09-13 17:39:43 -03:00
Italo Rossi 54e6cd3ebf FS-10237 [mod_callcenter] Do not kick member out at max wait time if we are originating to an agent already. 2017-08-10 00:36:58 -05:00
Italo Rossi ec44f5adf2 Revert "FS-10237 [mod_callcenter] Do not kick member out on timeout if originating to an agent"
This reverts commit b4ada1b849.
2017-08-08 14:45:05 -05:00
Marc Olivier Chouinard a1740fb600 FS-10512: Fix issue with callcenter topdown strategy 2017-07-20 21:33:55 -03:00
Italo Rossi 304ddb13cb Revert "FS-10314: Initial commit adding profiles to mod_callcenter"
This reverts commit 54c93528dc.
2017-07-18 13:25:22 -03:00
Italo Rossi 58d25329b9 Revert "FS-10511: Set status as External call when using callcenter_track"
This reverts commit 1ce87dfca1.
2017-07-18 13:09:39 -03:00
Marc Olivier Chouinard 1ce87dfca1 FS-10511: Set status as External call when using callcenter_track 2017-07-18 11:14:43 -04:00
Marc Olivier Chouinard 54c93528dc FS-10314: Initial commit adding profiles to mod_callcenter 2017-07-18 10:34:07 -04:00
Italo Rossi 8ea3e3c7bc Merge pull request #1313 in FS/freeswitch from ~ANTONIO/freeswitch:bugfix/FS-10368-mod_callcenter-lock-database-errors to master
* commit '04854fddaa1548e5d57a90fad74a433bee7a0750':
  Revert "FS-10299 [mod_callcenter] Removing global lock on all cc_execute_sql functions when executing database queries"
2017-07-06 20:52:51 +00:00
Italo Rossi 38ff0f79e9 Merge pull request #1273 in FS/freeswitch from ~EDUARDO/freeswitch:FS-10304-prevent-infinite-logging-when-a to master
* commit 'be741eab2ce34122755198c31894941f6e7da7d2':
  FS-10304: [mod_callcenter] Prevent infinite logging when a stale queue member in found in the database
2017-07-05 18:51:03 +00:00
Italo Rossi 3fef65b7c2 FS-10432 [mod_callcenter] Increase agent contact field up to 1024. 2017-06-28 16:43:16 -03:00
Antonio 04854fddaa Revert "FS-10299 [mod_callcenter] Removing global lock on all cc_execute_sql functions when executing database queries"
This reverts commit faf87febdb.
2017-06-23 19:02:39 +02:00
Italo Rossi b4ada1b849 FS-10237 [mod_callcenter] Do not kick member out on timeout if originating to an agent
Now we're passing member_session as session parameter to switch_ivr_originate, this will make
the cc_export_vars no longer needed in the future as now all the variables previously
exported will be seen by switch_ivr_originate because member_session is the ORIGINATOR.

cc_export_vars still works.
2017-06-13 00:12:15 -03:00
Eduardo Marinho be741eab2c FS-10304: [mod_callcenter] Prevent infinite logging when a stale queue member in found in the database
Having a member from a queue that is no longer found on the current system
causes infinite logging about skipping a member.

There is already cleanup code for abandoned calls in same function, but it can
never be reached for this case, because there is no queue.

If the queue is never found again in the system, the logging would continue
forever or until the stale record gets removed from the database.

FS-10304 #resolve
2017-05-11 09:43:58 -03:00
Italo Rossi faf87febdb FS-10299 [mod_callcenter] Removing global lock on all cc_execute_sql functions when executing database queries 2017-05-09 11:44:30 -03:00
Italo Rossi 97cece8968 FS-10298 [mod_callcenter] Firing bridge-agent-end if we failed to bridge answered agent with member. 2017-05-09 11:20:04 -03:00
Italo Rossi 13d5dff27d Merge pull request #1203 in FS/freeswitch from ~F93/freeswitch:bugfix/FS-10085-incorrect-no_answer_delay_time-behavoir to master
* commit '051cf19c93224bdab37fbfda68f9caaa0813aefa':
  FS-10085 [mod_callcenter] fix no_answer_delay_time behavoir in ring-all strategy
2017-04-29 00:56:43 +00:00
Italo Rossi b8af27863d Merge pull request #1202 in FS/freeswitch from ~PECHEN/freeswitch:feature/FS-10082-full-list-members-by-api to master
* commit 'f411dd49c5f951992345dcd810c5a70d8a235839':
  FS-10082 [mod_callcenter] full list members by api
2017-03-12 13:12:00 -05:00
Italo Rossi 9bb7a7d8cd Merge pull request #1074 in FS/freeswitch from ~WHENRY/freeswitch:feature/FS-9757_multi_box_patch to master
* commit '404c69698ed7a4ff215cf2d430b6a1721c693eb1':
  FS-9757 Store real system uuid in members system col and compare
2017-03-12 13:08:37 -05:00
Alexandr Popov f411dd49c5 FS-10082 [mod_callcenter] full list members by api 2017-03-06 17:53:48 +02:00
Roman Sukhov 051cf19c93 FS-10085 [mod_callcenter] fix no_answer_delay_time behavoir in ring-all strategy 2017-03-03 14:23:57 +03:00
Italo Rossi 59da3cc493 FS-10012 [mod_callcenter] Enabling bypass media if agents leg have bypass_media_after_bridge=true #resolve 2017-02-05 14:57:51 -03:00
William Henry 404c69698e FS-9757 Store real system uuid in members system col and compare 2017-01-27 16:38:13 -05:00
Italo Rossi 72927b994c [mod_callcenter] FS-9891: Checking if we got a valid pointer for a queue 2016-12-29 12:59:24 -03:00
Italo Rossi 50714ec5e4 [mod_callcenter] FS-9891: Get queue again to increase calls answered and abandoned 2016-12-27 21:35:17 -03:00
Italo Rossi 717dea47fb [mod_callcenter] FS-9347: Do not log as error when the member is gone just before we assigned an agent, now logging as DEBUG 2016-12-27 21:19:57 -03:00
Italo Rossi e614f8da24 [mod_callcenter] FS-9689 Fixed issue when agent rejects the call while hearing cc_outbound_announce making member (caller) waiting on queue forever 2016-12-27 21:14:57 -03:00
Italo Rossi 5ac10aaf32 [mod_callcenter] FS-9723: Fixing cc_warning_tone, using switch_ivr_play_file instead of queue private event 2016-12-27 20:49:59 -03:00
Italo Rossi b02df24504 FS-9869 [mod_callcenter] Exporting cc_queue_joined_epoch when originating agent outbound leg 2016-12-21 12:14:04 -03:00
Mike Jerris 1e0b827c08 Merge pull request #1067 in FS/freeswitch from ~WHENRY/freeswitch:improvement/FS-9760_remove_whitespace to master
* commit '46b63a4bb6f67d8066a354e55ea6bbd10d7d53fa':
  FS-9760 Removed the un-needed whitespace from the file
2016-12-20 18:45:35 -06:00
Italo Rossi 2ab3b14c1f FS-9835 [mod_callcenter] Fix segfault when passing freed pointer to cc_send_presence due to queue unload/reload 2016-12-09 16:34:05 -03:00
William Henry 46b63a4bb6 FS-9760 Removed the un-needed whitespace from the file 2016-11-21 17:32:22 -05:00
Italo Rossi 35e38e28a1 Merge pull request #1056 in FS/freeswitch from ~FRANCOIS/freeswitch-fs-9514:master to master
* commit 'a8926317afc71f1889b95aca72e1301a19f078b2':
  FS-9514 add event on mod_callcenter when max-no-answer is triggered
2016-11-14 08:17:14 -06:00
Italo Rossi 741e257b69 Merge pull request #957 in FS/freeswitch from ~FRANCOIS/freeswitch-fs-9516:master to master
* commit 'b182a0ce34363399b7d7c88e0014769d7f168cc0':
  FS-9516 refactor loopback agent on mod_callcenter and fix multiple minor issues
2016-11-14 08:11:09 -06:00
François a8926317af FS-9514 add event on mod_callcenter when max-no-answer is triggered 2016-11-14 15:07:07 +01:00
François b182a0ce34 FS-9516 refactor loopback agent on mod_callcenter and fix multiple minor issues 2016-11-14 13:28:11 +01:00
Mike Jerris e1b3ee1efd FS-9652: improve sql sanitization 2016-11-11 11:27:35 -06:00
Italo Rossi d998325bca FS-9707 - [mod_callcenter] Fixing external_calls_count order in select for top-down and ring-all strategies, removing unneeded log on presence 2016-11-07 17:41:23 -03:00
Italo Rossi 15a232b5bb FS-9609 - [mod_callcenter] BLF for Queues, callcenter_track app, EXIT_WITH_KEY reason and xml_curl improvements
This change implements a few new features, there's no behavior change at all.

1 - BLF for queues

You can now use BLF for knowing when there are callers waiting on a queue,
the pattern to be subscribed is callcenter+queuename@default or @domain name.

2 - callcenter_track app

Now every agent has an external_calls_count column that will be read upon
selecting agent to offer new calls.
If you start an external call (inbound or outbound) and don't wan't
mod_callcenter to offer new calls for this agent just call this app
passing the agent name as argument:

<action application="callcenter_track" data="agent1"/>

This will increment the external calls count, and to make mod_callcenter look to this variable you need to set this queue parameter:

<param name="skip-agents-with-external-calls" value="true"/>

3 - EXIT_WITH_KEY reason

If the member press a key to exit the queue the cc_cancel_reason will be this now.

4 - xml_curl config loading improvements

Prior to this mod_callcenter query your web server a LOT of times,
this will make it only query once per queue, just watch for CC-Queue
request param and build your xml with everything related to that queue,
including tiers (tiers wasn't loaded before this).
2016-10-04 23:07:42 -03:00
Italo Rossi 1080016986 FS-7706 [mod_callcenter] Hangup agent channel if we failed to bridge it with member channel.
The member can hangup the call while we are playing the outbound announce audio to the agent, this
patch detects this and properly hangup the agent channel to avoid keeping it up with
just a silence call since there's no active bridge.

The agent-bridge-end event now has CC-Agent-Bridged: true if the bridge successfully happens,
variable cc_agent_bridged was added so we can track this in the agent and member CDRs.

If you want to play an audio to the agent to indicate the member hangup the call before the bridge
set the variable cc_bridge_failed_outbound_announce, for example:
<action application="set" data="cc_bridge_failed_outbound_announce=tone_stream://%(250,250,425);loops=3"/>
or
<action application="set" data="cc_bridge_failed_outbound_announce=your-caller-has-gone-away-audio"/>
prior to calling callcenter application.

These variables are documented at https://freeswitch.org/confluence/display/FREESWITCH/mod_callcenter
2016-08-24 00:03:16 -03:00
Italo Rossi 0f3204feb3 FS-9248 [mod_callcenter] Adding truncate-tiers-on-load and truncate-agents-on-load options. 2016-06-09 16:53:21 -03:00