res_pjsip_endpoint_identifier_ip.c: Add port matching support

Adds source port matching support when IP matching is used:

  [example]
  type = identify
  match = 1.2.3.4:5060/32, 1.2.3.4:6000/32, asterisk.org:4444

If the IP matches but the source port does not, we reject and search for
alternatives. SRV lookups are still performed if enabled (srv_lookups = yes),
unless the configured FQDN includes a port number in which case just a host
lookup is performed.

ASTERISK-28639 #close
Reported by: Mitch Claborn

Change-Id: I256d5bd5d478b95f526e2f80ace31b690eebba92
This commit is contained in:
Sean Bright
2019-12-24 10:16:23 -05:00
parent 7c227aa130
commit f8b0c2c933
5 changed files with 120 additions and 24 deletions

View File

@@ -0,0 +1,8 @@
Subject: res_pjsip_endpoint_identifier_ip
In 'type = identify' sections, the addresses specified for the 'match'
clause can now include a port number. For IP addresses, the port is
provided by including a colon after the address, followed by the
desired port number. If supplied, the netmask should follow the port
number. To specify a port for IPv6 addresses, the address itself must
be enclosed in brackets to be parsed correctly.