diff options
author | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-06-21 19:58:03 +0000 |
---|---|---|
committer | oej <oej@f38db490-d61c-443f-a65b-d21fe96a405b> | 2006-06-21 19:58:03 +0000 |
commit | f69b89cb5263afefdff2024b0401aeec9a4ee13e (patch) | |
tree | 5d22f1366bd9671198d78b87b8741bdd4238a506 /channels | |
parent | 3e24a7199a9431e8893d8f7ba35372c102676dae (diff) |
Issue #7380 - Cannot put a one-legged call on hold/off hold
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@35336 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels')
-rw-r--r-- | channels/chan_sip.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index c484e183d..498087cdc 100644 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -4807,7 +4807,7 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) p->t38.jointcapability); } else { p->t38.state = T38_DISABLED; - if (option_debug > 1) + if (option_debug > 2) ast_log(LOG_DEBUG, "T38 state changed to %d on channel %s\n", p->t38.state, p->owner ? p->owner->name : "<none>"); } @@ -4884,6 +4884,8 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) if (!p->owner) /* There's no open channel owning us so we can return here. For a re-invite or so, we proceed */ return 0; + if (option_debug > 3) + ast_log(LOG_DEBUG, "We have an owner, now see if we need to change this call\n"); if (!(p->owner->nativeformats & p->jointcapability & AST_FORMAT_AUDIO_MASK)) { if (debug) { @@ -4907,7 +4909,6 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) ast_queue_frame(p->owner, &ast_null_frame); } else { /* No address for RTP, we're on hold */ - ast_moh_start(bridgepeer, NULL); if (sendonly) ast_rtp_stop(p->rtp); @@ -4919,7 +4920,6 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) } /* Manager Hold and Unhold events must be generated, if necessary */ - /* XXX Support for sendonly/recvonly needs to be fixed !!! */ if (sin.sin_addr.s_addr && !sendonly) { if (ast_test_flag(&p->flags[0], SIP_CALL_ONHOLD)) { append_history(p, "Unhold", "%s", req->data); @@ -4946,7 +4946,6 @@ static int process_sdp(struct sip_pvt *p, struct sip_request *req) ast_set_flag(&p->flags[0], SIP_CALL_ONHOLD); } - return 0; } @@ -12978,7 +12977,8 @@ static int handle_request_invite(struct sip_pvt *p, struct sip_request *req, int transmit_response_with_sdp(p, "200 OK", req, XMIT_CRITICAL); } } - } + } else /* No bridged peer */ + transmit_response_with_sdp(p, "200 OK", req, XMIT_CRITICAL); } break; default: |