signalwire / freeswitch

FreeSWITCH is a Software Defined Telecom Stack enabling the digital transformation from proprietary telecom switches to a versatile software implementation that runs on any commodity hardware. From a Raspberry PI to a multi-core server, FreeSWITCH can unlock the telecommunications potential of any device.
https://freeswitch.com/#getting-started
Other
3.46k stars 1.4k forks source link

Unable to answer incoming call during announcements in mod_callcenter #1148

Open tony1661 opened 3 years ago

tony1661 commented 3 years ago

Describe the bug When I configure a call center using mod_callcenter; if I place a call into the call center and the agent answers while the announcement is playing, the caller must wait until the announcement is competed before the two legs of the call will be bridged.

To Reproduce Steps to reproduce the behavior:

  1. Caller dials into the call center
  2. Agent ignores the call until the announce-frequency is triggered
  3. The announcement is now played for the caller
  4. The agent now decides to answer the call
  5. Agent hears dead air
  6. Once the announcement finishes for the caller the agent and the caller can hear each other.

Expected behavior I would expect for the caller to be immediately connected/bridged with the agent when the agent answers the phone

Package version or git hash

Trace logs Not needed. Very easy to reproduce. If you'd like them however I can provide but I'll need to remove personal data.

My Call Center Configuration

<queue name="74ca5f26-1ef1-49ef-8a58-f5303830b638" label="main-call-center@my.domain.com">
  <param name="strategy" value="ring-all"/>
  <param name="moh-sound" value="tone_stream://%(2000,4000,440,480);loops=-1"/>
  <param name="record-template" value=""/>
  <param name="time-base-score" value="system"/>
  <param name="max-wait-time" value="60"/>
  <param name="max-wait-time-with-no-agent" value="2"/>
  <param name="tier-rules-apply" value="false"/>
  <param name="tier-rule-wait-second" value="30"/>
  <param name="tier-rule-wait-multiply-level" value="true"/>
  <param name="tier-rule-no-agent-no-wait" value="true"/>
  <param name="discard-abandoned-after" value="900"/>
  <param name="abandoned-resume-allowed" value="false"/>
  <param name="announce-sound" value="/var/lib/freeswitch/recordings/my.domain.com/WaitingGreeting.wav"/>
  <param name="announce-frequency" value="10"/>
</queue>
greenbea commented 3 years ago

Can you test please with this commit https://github.com/signalwire/freeswitch/pull/1170