[Freeswitch-users] 5 second delay when taking a phone off hold

Dave Horton daveh at beachdognet.com
Tue Sep 13 18:29:55 MSD 2016


I have noticed that when I put a phone on hold, and then later take it off hold that there is a 5 second delay when Freeswitch handles the re-INVITE off-hold (no such delay going on hold).

My app is a fairly simple bridging application, where call is placed from A to B through Freeswitch; the B leg goes on hold and then later attempts to go off hold.

I have tracked the 5 second delay to this line of code in switch_core_media.c:

			if (b_channel) {
				if (switch_channel_test_flag(session->channel, CF_HOLD)) {
					switch_ivr_unhold(b_session);
					switch_channel_clear_flag(session->channel, CF_SUSPEND);
					switch_channel_clear_flag(session->channel, CF_HOLD);
				} else {
					switch_channel_stop_broadcast(b_channel);
					switch_channel_wait_for_flag(b_channel, CF_BROADCAST, SWITCH_FALSE, 5000, NULL);  <== 5 second delay happens here
				}
			}


Couple of other data points:
1.  When I go on hold, the INVITE on hold that Freeswitch receives on one leg is not propagated out the associated leg, for whatever reason
2.  I am using late negotiation of the SDP between the A and B legs.
3.  I am running version 1.68

Is this a bug and should I open a Jira?  I can obviously provide traces but wanted to first know if this is a bug or some configuration issue

Dave


Join us at ClueCon 2016 Aug 8-12, 2016
More information about the FreeSWITCH-users mailing list