FreeCalypso > hg > themwi-system-sw
comparison sip-in/sip_ack.c @ 109:9b87894704eb
sip-in: first step toward final call clearing
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Wed, 28 Sep 2022 16:32:13 -0800 |
parents | 9e9034ef476c |
children | c1c94b7fc2e2 |
comparison
equal
deleted
inserted
replaced
108:0d6435808bcd | 109:9b87894704eb |
---|---|
3 * in the 3-way INVITE handshake. | 3 * in the 3-way INVITE handshake. |
4 */ | 4 */ |
5 | 5 |
6 #include <sys/types.h> | 6 #include <sys/types.h> |
7 #include <sys/socket.h> | 7 #include <sys/socket.h> |
8 #include <sys/time.h> | |
8 #include <netinet/in.h> | 9 #include <netinet/in.h> |
9 #include <stdio.h> | 10 #include <stdio.h> |
10 #include <stdint.h> | 11 #include <stdint.h> |
11 #include <stdlib.h> | 12 #include <stdlib.h> |
12 #include <string.h> | 13 #include <string.h> |
15 #include "../libsip/parse.h" | 16 #include "../libsip/parse.h" |
16 #include "../libsip/uas_basic.h" | 17 #include "../libsip/uas_basic.h" |
17 #include "call.h" | 18 #include "call.h" |
18 | 19 |
19 extern struct call *find_call_by_sip_id(); | 20 extern struct call *find_call_by_sip_id(); |
21 | |
22 extern unsigned sip_linger_acked; | |
20 | 23 |
21 void | 24 void |
22 handle_sip_ack(req, ess, sin) | 25 handle_sip_ack(req, ess, sin) |
23 struct sip_pkt_rx *req; | 26 struct sip_pkt_rx *req; |
24 struct uas_parse_hdrs *ess; | 27 struct uas_parse_hdrs *ess; |
49 exit(1); | 52 exit(1); |
50 } | 53 } |
51 break; | 54 break; |
52 case SIP_STATE_INVITE_ERR: | 55 case SIP_STATE_INVITE_ERR: |
53 call->sip_state = SIP_STATE_ENDED; | 56 call->sip_state = SIP_STATE_ENDED; |
57 sip_mark_end_time(call, sip_linger_acked); | |
54 break; | 58 break; |
55 } | 59 } |
56 } | 60 } |