Skip to content

VoiceInterpreter fails after Dial fork receives BUSY from all call branches #2432

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
ghjansen opened this issue Aug 18, 2017 · 1 comment
Closed
Assignees
Labels

Comments

@ghjansen
Copy link
Contributor

Related to issue #2271 and PR #2420.

Scenario:

  • Restcomm creates multiple outbound calls through a Dial forking RCML like:
<Response>
    <Say>Welcome to Telestax Restcom Visual Designer Demo</Say>
        <Dial>
            <Client>bob</Client>
            <Client>alice</Client>
            <Client>steve</Client>
        </Dial>
    <Say>Hangup by timeout test concluded with success.</Say>
</Response>
  • each one of the call branches answers back with SIP 486 (BUSY)

Failure:

  • caller remains hearing the ringing tone forever apparently skipping all remaining verbs in the RCML
@ghjansen
Copy link
Contributor Author

ghjansen commented Aug 18, 2017

Solution:
VoiceInterpreter was moving to the next verb correctly, but there were 3 flaws during that process:
1 - VoiceInterpreter was not explicitly requesting MS to stop the current media being played;
2 - VoiceInterpreter was moving to the next verb of the RCML right away;
3 - missing FSM transitions from forking state.

That said, VoiceInterpreter was patched to explicitly request the call controller (either MGCP or JSR309) to stop the media currently playing, before moving to the next verb of the RCML. After the Stop request is sent, VoiceInterpreter waits for a MediaGroupResponse to confirms that the MS stopped playing the media (VoiceInterpreter does not move to the next verb of the RCML until MediaGroupResponse is received). By receiving the MediaGroupResponse, VoiceInterpreter resumes its flow and proceed to next verb.

Closed via PR #2420 .

jaimecasero added a commit that referenced this issue Oct 4, 2017
* New release candidate 8.2.0.1237

* New release candidate

* Preliminar fix for #2271.

* Patch for ticket #34390. Issue #2271.

* Missing transitions from a dial fork with all branches busy, to other verbs. Issue #2271.

* Inclusion of missing statusCalback for rejected calls. Issue #2271.

* Preliminar patch for ticket #34415. Issue #2271.

* Work in progress for ticket #34415. Issue #2271.

* Patch for ticket #34415 (non optimised). Issue #2271.

* Optimised patch for ticket #34415 with fix for dial action. Issue #2271.

* Preparation for merge and creation of pull request. Issue #2271.

* Issue #2436. Related to issues #2432, #2433 and PR #2420.

* Fixing modifier. Issue #2271.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant