diff options
author | Kevin P. Fleming <kpfleming@digium.com> | 2005-10-13 20:04:38 +0000 |
---|---|---|
committer | Kevin P. Fleming <kpfleming@digium.com> | 2005-10-13 20:04:38 +0000 |
commit | 04d7bcc7570652d6474b05d548434e30d5bdb32f (patch) | |
tree | 986eab31f5c16b0afb9e3edb16a5a766a27fe5ea /channels/chan_sip.c | |
parent | dd11afca4229c2d5746d19d86f0ca960d71fe935 (diff) |
send "100 Trying" when we receive PROCEEDING, unless "183 Session Progress" has already been sent
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@6760 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_sip.c')
-rwxr-xr-x | channels/chan_sip.c | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/channels/chan_sip.c b/channels/chan_sip.c index 5e0d9e663..a5f6e60a2 100755 --- a/channels/chan_sip.c +++ b/channels/chan_sip.c @@ -2629,9 +2629,15 @@ static int sip_indicate(struct ast_channel *ast, int condition) } res = -1; break; - case AST_CONTROL_PROGRESS: case AST_CONTROL_PROCEEDING: if ((ast->_state != AST_STATE_UP) && !ast_test_flag(p, SIP_PROGRESS_SENT) && !ast_test_flag(p, SIP_OUTGOING)) { + transmit_response(p, "100 Trying", &p->initreq); + break; + } + res = -1; + break; + case AST_CONTROL_PROGRESS: + if ((ast->_state != AST_STATE_UP) && !ast_test_flag(p, SIP_PROGRESS_SENT) && !ast_test_flag(p, SIP_OUTGOING)) { transmit_response_with_sdp(p, "183 Session Progress", &p->initreq, 0); ast_set_flag(p, SIP_PROGRESS_SENT); break; |