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)
| r458 | r462 | |
|---|---|---|
| 1110 | 1110 | |
| 1111 | 1111 | static void *handle_reinvite(eXosip_event_t *event) |
| 1112 | 1112 | { |
| 1113 | struct opbx_channel *bridged = NULL; | |
| 1113 | 1114 | osip_message_t *answer = NULL; |
| 1114 | 1115 | call_t *call = NULL; |
| 1115 | 1116 | sdp_message_t *remote_sdp = NULL; |
| --- | --- | |
| 1152 | 1153 | pos++; |
| 1153 | 1154 | } |
| 1154 | 1155 | |
| 1156 | bridged = opbx_bridged_channel(call->owner); | |
| 1157 | ||
| 1155 | 1158 | /* Check to see if this is an on-hold notification... or off-hold notification */ |
| 1156 | 1159 | if (strcasecmp(remote_ip,"0.0.0.0") == 0 || state == SENDONLY) { |
| 1157 | 1160 | /* Call is on hold! */ |
| 1158 | opbx_moh_start(call->owner, NULL); | |
| 1161 | if (bridged != NULL) | |
| 1162 | opbx_moh_start(bridged, NULL); | |
| 1159 | 1163 | call->rtp_state = SENDONLY; |
| 1160 | 1164 | } 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); | |
| 1162 | 1167 | call->rtp_state = SENDRECV; |
| 1163 | 1168 | } else { |
| 1164 | 1169 | /* Suspend the RTP session, change the remote address, and then switch it back to active */ |
![Home changeset 462 [home]](/images/logo.png?1180520111)
RSS Feeds