Configuring Specific UDP Ports using Tag-based Routing
You can configure the device to use a specific local UDP port for each SIP entity (e.g., PBX) communicating with a common proxy server (e.g., ITSP). The figure below illustrates an example scenario of such an implementation, whereby the device uses a specific local UDP port (e.g., 6001, 6002, and 6003) for each IP PBX, on the leg interfacing with the proxy server:
For each IP PBX, the device sends SIP messages to the proxy server using the specific local, UDP port on the leg interfacing with the proxy server. For SIP messages received from the proxy server, the device routes the messages to the appropriate IP PBX according to the local UDP port on which the message was received. On the leg interfacing with the IP PBXs, the device uses the same local UDP port (e.g., 5060) for all IP PBXs (send and receive).
To configure this feature, you need to configure the SIP Interface of the proxy server with a special UDP port range, and use tag-based routing with Call Setup Rules to specify the exact UDP port you want assigned to each SIP entity (IP PBX), from the SIP Interface port range. The following procedure describes how to configure the device to use a specific local UDP port per SIP entity on the leg interfacing with a proxy server that is common to all the SIP entities. To facilitate understanding, the procedure is based on the previous example.
➢ | To configure specific UDP ports for SIP entities communicating with common proxy server: |
1. | Open the SIP Interfaces table (see Configuring SIP Interfaces), and then configure the following SIP Interfaces: |
● | SIP Interface for leg interfacing with IP PBXs (local UDP port 5060 is used): |
General |
|
---|---|
Index |
1 |
Name |
PBX |
Network Interface |
WAN |
UDP Port |
5060 |
● | SIP Interface for leg interfacing with proxy server (specific local UDP ports are later taken from this port range): |
General |
|
---|---|
Index |
2 |
Name |
ITSP |
Network Interface |
LAN |
UDP Port |
5060 |
Additional UDP Ports |
6000-7000 |
For guidelines on configuring the 'Additional UDP Ports' parameter (SIPInterface_AdditionalUDPPorts), see Configuring SIP Interfaces.
2. | Open the IP Groups table (see Configuring IP Groups), and then configure the following IP Groups: |
● | IP Group for the first IP PBX ("Type" and "Port" tags are later used to identify the IP PBX and assign it a local UDP port 6001 on the leg interfacing with the proxy server): |
General |
|
---|---|
Index |
1 |
Name |
PBX-1 |
Type |
Server |
SBC Advanced |
|
Call Setup Rules Set ID |
1 |
Tags |
Type=PBX;Port=6001 |
● | IP Group for the second IP PBX ("Type" and "Port" tags are later used to identify the IP PBX and assign it a local UDP port 6002 on the leg interfacing with the proxy server): |
General |
|
---|---|
Index |
2 |
Name |
PBX-2 |
Type |
Server |
SBC Advanced |
|
Call Setup Rules Set ID |
1 |
Tags |
Type=PBX;Port=6002 |
● | IP Group for the third IP PBX ("Type" and "Port" tags are later used to identify the IP PBX and assign it a local UDP port 6003 on the leg interfacing with the proxy server): |
General |
|
---|---|
Index |
3 |
Name |
PBX-3 |
Type |
Server |
SBC Advanced |
|
Call Setup Rules Set ID |
1 |
Tags |
Type=PBX;Port=6003 |
● | IP Group for the proxy server ("Type" tag is later used to identify proxy server): |
General |
|
---|---|
Index |
4 |
Name |
ITSP |
Type |
Server |
SBC Advanced |
|
Call Setup Rules Set ID |
1 |
Tags |
Type=ITSP |
3. | Open the Call Setup Rules table (see Configuring Call Setup Rules), and then configure the following Call Setup rules: |
● | Uses the value of the "Type" tag name, configured in the IP Group's 'Tags' parameter, as the source tag: |
General |
|
---|---|
Index |
1 |
Rule Set ID |
1 |
Action |
|
Action Subject |
srctags.Type |
Action Type |
Modify |
Action Value |
param.ipg.src.tags.Type |
● | If the source tag name "Type" equals "PBX" (i.e., SIP message from an IP Group belonging to one of the IP PBXs), then use the value of the "Port" tag name, configured in the 'Tags' parameter of the classified IP Group, as the local UDP port on the leg interfacing with the proxy server for messages sent to the proxy server: |
General |
|
---|---|
Index |
2 |
Rule Set ID |
1 |
Condition |
srctags.Type=='PBX' |
Action |
|
Action Subject |
message.outgoing.local-port |
Action Type |
Modify |
Action Value |
param.ipg.src.tags.Port |
● | If the source tag name "Type" equals "ITSP" (i.e., SIP message from the ITSP), then use the value (port number) of the local port on which the incoming message from the proxy server is received by the device, as the value of the destination tag name "Port". In other words, the value could either be "6001", "6002", or "6003". This value is then used by the IP-to-IP Routing table to determine to which IP PBX to send the message. For example, if the destination tag value is "6001", the device identifies the destination as "PBX-1": |
General |
|
---|---|
Index |
3 |
Rule Set ID |
1 |
Condition |
srctags.Type=='ITSP' |
Action | |
Action Subject |
dsttags.Port |
Action Type |
Modify |
Action Value |
message.incoming.local-port |
4. | Open the IP-to-IP Routing table (see Configuring SBC IP-to-IP Routing Rules), and then configure the following IP-to-IP Routing rules: |
● | Routes calls from the IP PBXs (identified by the source tag name-value "Type=PBX") to the ITSP (identified as an IP Group): |
General |
|
---|---|
Index |
1 |
Name |
PBX-to-ITSP |
Match |
|
Source Tag |
Type=PBX |
Action |
|
Destination Type |
IP Group |
Destination IP Group |
ITSP |
● | Routes calls from the ITSP (identified by the source tag name-value "Type=ITSP") to the IP PBXs (identified by the specific port assigned to the IP PBX by the value of the destination tag name "Port"): |
General |
|
---|---|
Index |
2 |
Name |
ITSP-to-PBX |
Match |
|
Source Tag |
Type=ITSP |
Action |
|
Destination Type |
Destination Tag |
Routing Tag Name |
Port |