diff options
author | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-10-13 20:04:38 +0000 |
---|---|---|
committer | kpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b> | 2005-10-13 20:04:38 +0000 |
commit | 085f302edd32acb59db7506168a7bb45c3b4f33f (patch) | |
tree | 986eab31f5c16b0afb9e3edb16a5a766a27fe5ea /channels/chan_sip.c | |
parent | 9ebd430cd31aa8d6e76c75db03d77ce0025637b9 (diff) |
send "100 Trying" when we receive PROCEEDING, unless "183 Session Progress" has already been sent
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6760 f38db490-d61c-443f-a65b-d21fe96a405b
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; |