Attended transfer not working after update to v20

guidoq

Advanced Certified
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?
 
Hello,

I have sent you p.m. so we can look into this.
 
What was the fix for this please?
 
a bit convoluted but here's what I did:
registered the external pbx (freeswitch) as gateway and created a fake DID like 12345
created an extension with the DID people call assigned to it, which forwards all calls to 12345
created an outbound rule for 12345 to use the gateway route
their freeswitch system then forwards the call to various queues based on their rules

this is the only way I found to make attended transfers work
 

Latest Posts

Forum statistics

Threads
111,990
Messages
590,161
Members
164,926
Latest member
tohoken1