Changeset 462

Fix putting someone on hold (if not bridged - just sorta ignores it...)

Committed by:  file
Date:  Oct 15 2005 * 03:57 (over 3 years ago)

Affected files:

openpbx/trunk/channels/chan_exosip2.c (unified diff)

r458r462
11101110
11111111 static void *handle_reinvite(eXosip_event_t *event)
11121112 {
1113 struct opbx_channel *bridged = NULL;
11131114 osip_message_t *answer = NULL;
11141115 call_t *call = NULL;
11151116 sdp_message_t *remote_sdp = NULL;
------
11521153 pos++;
11531154 }
11541155
1156 bridged = opbx_bridged_channel(call->owner);
1157
11551158 /* Check to see if this is an on-hold notification... or off-hold notification */
11561159 if (strcasecmp(remote_ip,"0.0.0.0") == 0 || state == SENDONLY) {
11571160 /* Call is on hold! */
1158 opbx_moh_start(call->owner, NULL);
1161 if (bridged != NULL)
1162 opbx_moh_start(bridged, NULL);
11591163 call->rtp_state = SENDONLY;
11601164 } else if (strcasecmp(remote_ip,call->remote_sdp_audio_ip) == 0 && call->rtp_state == SENDONLY) {
1161 opbx_moh_stop(call->owner);
1165 if (bridged != NULL)
1166 opbx_moh_stop(bridged);
11621167 call->rtp_state = SENDRECV;
11631168 } else {
11641169 /* Suspend the RTP session, change the remote address, and then switch it back to active */