- Joined
- Apr 14, 2021
- Messages
- 98
- Reaction score
- 59
I'm having an issue with a customer pbx:
One DID is routed to an extension (10999) where there's registered an external service that handles automatic appointments. (freeswitch)
if the user calling is not found in the database this external service forwards the call to a queue.
here an agent answers and this works fine.
The problem arises when the agent transfers the call to another extension via attended transfer.
The calling extension talks to his colleague, then transfers the calls.
The caller is left on hold (in the active calls I see a call between 10999 and the caller) and the extension receiving the call hears nothing, until it hangs and both calls are disconnected.
Blind transfer works fine, I have the pcap trace if needed
I asked the external IVR support and they analized the trace I sent them and here's their answer:
- When the person who answered puts you on hold, we receive a "REINVITE" to the same IPs and ports, but with the RTP in "sendonly" mode (you can see the "two-way" mode in the first INVITE where it is set to "sendrecv").- Therefore, on our side, the RTP flow (with your voice) is properly stopped. Meanwhile, you hear the hold music.- When we receive the "REINVITE" to <sip:[email protected]>" (you'll hear a very brief interruption in the hold music in the audio), the RTP continues to be indicated in "sendonly" mode, and your PBX continues to play the hold music.
I don't know much about SIP protocol but from what I understand the same problem as this https://www.3cx.com/community/threads/3cx-wrong-behavior-on-sdp-media-attribute-a-sendonly.83610/
I asked Claude and it suggests changing these parameters in the provider template to 1
<field name="IsSupportReinvite">0</field>
<field name="IsSupportReplaces">0</field>
would that fix the issue?
One DID is routed to an extension (10999) where there's registered an external service that handles automatic appointments. (freeswitch)
if the user calling is not found in the database this external service forwards the call to a queue.
here an agent answers and this works fine.
The problem arises when the agent transfers the call to another extension via attended transfer.
The calling extension talks to his colleague, then transfers the calls.
The caller is left on hold (in the active calls I see a call between 10999 and the caller) and the extension receiving the call hears nothing, until it hangs and both calls are disconnected.
Blind transfer works fine, I have the pcap trace if needed
I asked the external IVR support and they analized the trace I sent them and here's their answer:
- When the person who answered puts you on hold, we receive a "REINVITE" to the same IPs and ports, but with the RTP in "sendonly" mode (you can see the "two-way" mode in the first INVITE where it is set to "sendrecv").- Therefore, on our side, the RTP flow (with your voice) is properly stopped. Meanwhile, you hear the hold music.- When we receive the "REINVITE" to <sip:[email protected]>" (you'll hear a very brief interruption in the hold music in the audio), the RTP continues to be indicated in "sendonly" mode, and your PBX continues to play the hold music.
I don't know much about SIP protocol but from what I understand the same problem as this https://www.3cx.com/community/threads/3cx-wrong-behavior-on-sdp-media-attribute-a-sendonly.83610/
I asked Claude and it suggests changing these parameters in the provider template to 1
<field name="IsSupportReinvite">0</field>
<field name="IsSupportReplaces">0</field>
would that fix the issue?