Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current Restore this Version View Page History

« Previous Version 5 Next »

Target release6.15.0
Epic

Error rendering macro 'jira' : Unable to locate Jira server for this macro. It may be due to Application Link configuration.

FR

Unable to locate Jira server for this macro. It may be due to Application Link configuration.

Document status

DRAFT

Document owner

Goals

The SR140  fax server will be deployed behind a NAT device, e.g. in AWS EC2.  The media server will have a private IP address.  SIP and RTP traffic will traverse the local NAT device.


Background and strategic fit

SR140 requires an SBC when running in AWS because the AWS environment does not perform NAT Traversal capabilities for SIP as a default.  This adds to the cost of the solution and is not desirable.

Solution: Allow the setting of an IP address that will be used to modify the SIP headers, such as From and Contact, as well as the SDP headers defining the RTP connection information to the external IP of the EC2 instance.

The SR140 needs to be aware of the NAT device's public IP address.  This public IP address will be used in place of the private IP address.  This setting can be a single value for the whole system assigned when SR140 starts (in configuration file).

Assumptions


Requirements

#TitleUser StoryImportanceNotes
1




User interaction and design

Here are the fields that the SBC changed before they built it into the product: There could be others that I am missing.

On a SIP message with a SIP Request:

              From IP Address

              Contact IP address

              Via IP address (first one in the list if multiple)

In the SDP:

              IP address in the “C” lines

              IP address in the :”o”

Any P-Asserted-Identity address field

Any Record-route address field

In a 18x message

              Contact  IP address

In a 200 message

              Contact IP address

In 4xx message

              Contact IP address


For question number 2 below "Who will obtain the public IP address?":

If the SR140 is required to figure out what the public IP address is, we need a keyword in the
callctrl.cfg file which would tell the SR140 to use the public IP address that it obtains.
If the customer obtains the public IP address, then we need a keyword in the callctrl.cfg file
which would tell the SR140 the public IP address it should use.

Questions

Below is a list of questions to be addressed as a result of this requirements document:


QuestionOutcome
  1. Will the external IP address be the same for SIP and RTP?
No. There will be two new keywords. nat_sip_address and nat_media_address in the callctrl.cfg file.

2. Who will obtaining the public IP address? Is it the responsibility ofthe customer or is the SR140 required to figure out what external IP

of the system is?
The customer will obtain the public IP addresses for SIP and Media and enter them under the keywords
nat_sip_address and nat_media_address, respectively.
3. If there is a new keyword for the public IP address in the callctrl.cfg file, will this keyword take precendence over the other keywords such as sip_Contact, sip_ip_interface and sip_From?The two NAT keywords in the callctrl.cfg file will take precedence over the other keywords such as sip_From, sip_Contact, etc.
4. What about the Request URI and the To: header fields? Will these use the public IP address?These should use the IP address of the remote side which is receiving the fax.
5. Support for both IPv4 and IPv6 or just IPv4?IPv4 only.
6.  What about the port for the public IP address?Leave the ports alone. The ports for the public IP addresses will be the same as the ports for for the private IP addresses.
From HMP:
Each private port number will be mapped to the same public port number on the NAT device
The UDP and TCP ports in SIP and SDP won't be translated since the NAT device will be
configured for matching private / public ports.
7. 






















Not Doing