# HG changeset patch # User Mychaela Falconia # Date 1663989487 28800 # Node ID a9137bdb6047606aa2b7b5e28c86b9cc9c2f811c # Parent fd23e2747b4511e95ff98757dc08bbc0d801ab8a sip-in: make BYE Max-Forwards configurable diff -r fd23e2747b45 -r a9137bdb6047 sip-in/bye_out.c --- a/sip-in/bye_out.c Fri Sep 23 19:05:08 2022 -0800 +++ b/sip-in/bye_out.c Fri Sep 23 19:18:07 2022 -0800 @@ -21,6 +21,7 @@ extern struct in_addr sip_bind_ip; extern unsigned sip_bind_port; +extern unsigned max_forwards; fill_bye_out_msg(msg, call) struct sip_msg_out *msg; @@ -50,7 +51,8 @@ rc = out_msg_add_header(msg, "CSeq", "1 BYE"); if (rc < 0) return rc; - rc = out_msg_add_header(msg, "Max-Forwards", "70"); + sprintf(strbuf, "%u", max_forwards); + rc = out_msg_add_header(msg, "Max-Forwards", strbuf); if (rc < 0) return rc; out_msg_finish(msg); diff -r fd23e2747b45 -r a9137bdb6047 sip-in/readconf.c --- a/sip-in/readconf.c Fri Sep 23 19:05:08 2022 -0800 +++ b/sip-in/readconf.c Fri Sep 23 19:18:07 2022 -0800 @@ -19,6 +19,7 @@ int cfg_use_100rel; unsigned cfg_retrans_timeout = 500; unsigned cfg_retrans_count = 10; +unsigned max_forwards = 70; static char config_file_pathname[] = "/var/gsm/themwi-sip-in.cfg"; @@ -168,6 +169,10 @@ handler = handle_retrans_conf; var = (void *) 0; set_id = 0; + } else if (!strcmp(kw, "max-forwards")) { + handler = &handle_num; + var = &max_forwards; + set_id = 0; } else { fprintf(stderr, "%s line %d: non-understood keyword \"%s\"\n", config_file_pathname, st->lineno, kw);