aboutsummaryrefslogtreecommitdiffstats
path: root/channels/chan_sip.c
diff options
context:
space:
mode:
authorkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-10-13 20:04:38 +0000
committerkpfleming <kpfleming@f38db490-d61c-443f-a65b-d21fe96a405b>2005-10-13 20:04:38 +0000
commit085f302edd32acb59db7506168a7bb45c3b4f33f (patch)
tree986eab31f5c16b0afb9e3edb16a5a766a27fe5ea /channels/chan_sip.c
parent9ebd430cd31aa8d6e76c75db03d77ce0025637b9 (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-xchannels/chan_sip.c8
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;