annotate libutil/nanp_valid.c @ 124:7e04d28fae8b

sip-in: default use-100rel to no BulkVS servers act badly when we send a reliable 180 Ringing response to an incoming call, even though they advertise 100rel support in the Supported header in the INVITE packet, and we probably won't be implementing 100rel for outbound because doing per-the-spec PRACK as a UAC is just too burdensome. Therefore, we need to consider 100rel extension as not-really-supported in themwi-system-sw.
author Mychaela Falconia <falcon@freecalypso.org>
date Sat, 01 Oct 2022 15:54:50 -0800
parents b1c364729a93
children 81958b35f74d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 /*
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 * Utility functions for NANP number validation.
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3 */
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 is_nanp_valid_prefix(s)
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6 char *s;
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 {
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8 /* validate NPA part */
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 if (s[0] < '2')
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10 return(0);
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 if (s[1] == '1' && s[2] == '1')
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 return(0);
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 if (s[1] == '9')
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 return(0);
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 /* validate exchange part */
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 if (s[3] < '2')
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 return(0);
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 if (s[4] == '1' && s[5] == '1')
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 return(0);
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20 /* all checks passed */
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
21 return(1);
b1c364729a93 libutil: add NANP number validation function
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
22 }