FreeCalypso > hg > themwi-system-sw
diff sip-manual-out/uas.c @ 147:94b5831c017f
sip-manual-out code: split bye_in.c from uas.c
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 08 Oct 2022 23:01:32 -0800 |
parents | dd845c4933e1 |
children | b51247739897 |
line wrap: on
line diff
--- a/sip-manual-out/uas.c Sat Oct 08 19:53:23 2022 -0800 +++ b/sip-manual-out/uas.c Sat Oct 08 23:01:32 2022 -0800 @@ -13,60 +13,6 @@ #include "../libsip/uas_basic.h" #include "../libsip/out_msg.h" -extern char call_id[]; - -static void -bye_correct_call(req, ess, sin) - struct sip_pkt_rx *req; - struct uas_parse_hdrs *ess; - struct sockaddr_in *sin; -{ - struct sip_msg_out resp; - int rc; - - printf("Received BYE for our call, responding with 200\n"); - start_response_out_msg(&resp, "200 OK"); - rc = add_resp_basic_headers(&resp, ess, req->req_method); - if (rc < 0) { - fprintf(stderr, "sending 200 response: msg length exceeded\n"); - return; - } - out_msg_finish(&resp); - sip_tx_packet(&resp, sin); -} - -static void -bye_unknown_call(req, ess, sin) - struct sip_pkt_rx *req; - struct uas_parse_hdrs *ess; - struct sockaddr_in *sin; -{ - struct sip_msg_out resp; - int rc; - - printf("Received BYE for unknown call, responding with 481\n"); - start_response_out_msg(&resp, "481 Call-ID not found"); - rc = add_resp_basic_headers(&resp, ess, req->req_method); - if (rc < 0) { - fprintf(stderr, "sending 481 response: msg length exceeded\n"); - return; - } - out_msg_finish(&resp); - sip_tx_packet(&resp, sin); -} - -static void -handle_bye(req, ess, sin) - struct sip_pkt_rx *req; - struct uas_parse_hdrs *ess; - struct sockaddr_in *sin; -{ - if (!strcmp(ess->call_id, call_id)) - bye_correct_call(req, ess, sin); - else - bye_unknown_call(req, ess, sin); -} - static void unsupported_method(req, ess, sin) struct sip_pkt_rx *req; @@ -107,7 +53,7 @@ } /* dispatch by method */ if (!strcmp(msg->req_method, "BYE")) - handle_bye(msg, &ess, sin); + handle_bye_req(msg, &ess, sin); else if (!strcmp(msg->req_method, "ACK")) printf("Received unexpected ACK, swallowing it\n"); else