How about expanding the discovery procedure with a NAPTR request sent to the provider's domain (as found in From and/or P-A-I) in case (1) fails
Yes, looks as it will be a good extension. Domain from `From` header may be used only if domain not available in `P-A-I` header.
Here examples of `From` and `P-A-I` headers that we can receive **Example 1** - domain matched in `From` and `P-A-I` headers ``` From: sip:+18556667788@206.147.246.118:5060;tag=gK0e0d09a4 P-Asserted-Identity: sip:+18556667788@206.147.246.118:5060 ```
**Example 2** - private IP address in `From` header and no domain in `P-A-I` header. `P-A-I` contains tel and sip uri. ``` From: sip:+16692481432@198.226.45.84;tag=gK04090b5e P-Asserted-Identity: tel:+16692481432, sip:+16692481432@vzimstest.com ```
**Example 3** - IPv6 address in `From` header and no domain in `P-A-I` header ``` From: "9255111003"sip:9255111003@[2605:97c0:2058:3120:1::1]:50001;tag=75fdbcf61a;epid=SC597fbd P-Asserted-Identity: tel:9255111003 ``` **Example 4** - no domain in `From` and `P-A-I` headers ``` From: tel:+13559598013;tag=SDtl3t701-5f7f754a-5f89c26229204b60-Noo-lucentNGFS-000264 P-Asserted-Identity: tel:+11005534340 ```
Think not required to make double reverse and NAPTR DNS lookups if the domain from `P-A-I` or `From` headers equals to caller network IP address.
Could you look at this example. ``` P-Asserted-Identity: tel:+16692481432, sip:+16692481432@vzimstest.com ``` IP address does exist here, put present caller domain. So we can skip reverse lookup and execute NAPTR.