A VoIP Application-Layer Gateway (ALG) provides basic proxy features. Serving as an ALG proxy, the system maps many network appliances into one or more public IP addresses and provides the connectivity and management for IP phones. The ALG must first recognize and register a network appliance before it presents the IP telephone or data device through its public WAN port.
The system contains a SIP and H.323 call control proxy ALG. VoIP phones and client adapters have to be configured to point to the system, which serves as a call control server, proxy, gatekeeper or gateway.
For corporate customers with high-end routers and firewalls, the system can be configured as a VoIP Application Layer Gateway only. This allows all of the normal data traffic to continue to be handled by the existing network devices, and voice/video traffic to be handled by the system. For this configuration, the system WAN Ethernet port is connected to the internet. The system LAN Ethernet port is connected to a port on the desired LAN Ethernet switch. The system can reside on one subnet and be accessed by VoIP devices on other subnets through the router.
Alias manipulation and prefix routing both make use of regular expressions to match a particular string in an alias and act on that match.
Alias manipulation is done immediately when a message (for example, an Automatic Repeat reQuest or ARQ, Location Request or LRQ, or a Setup) is received. Any matching pattern is replaced with a given string. All normal call look-up is done after the alias manipulation stage. This allows you to replace characters or strings that are hard or impossible to dial on certain endpoints. For example, in order to accomplish Annex O style dialing on an endpoint that cannot enter the '@' and/or the '.' character, you can create the following rules:
'*' has a special meaning in regular expressions and therefore must be escaped with a preceding '\'.
Prefix routing is similar but here the regular expression determines where to send a matching alias. This call decision is done after the alias manipulation and is therefore acting on the modified string similar to other call lookup processes (for example, look-up of registered clients). H.323 prefixes can be used to route calls based on a matching prefix in the destination alias of the call. Each prefix is associated with a domain name or IP address to send the call to in case the prefix matches.
Alias manipulation patterns and prefixes use regular expressions to match a string in the destination alias. A regular expression can be a string of literal characters to match or a number of special expressions.
Alias manipulation patterns can match a sub-string anywhere and multiple times within the alias. Prefixes are always searched from the left of the alias and cannot match a middle part or the end of the alias. The following table describes supported expressions. The following table describes example expressions.
If an enterprise has multiple offices with associated PBXs in geographically separated locations, the EdgeMarc can help provide lower cost service between the offices.
For multiple office connection support, an EdgeMarc is installed with each PBX. As in the single office case, the PBXs provide local call processing. However, calls between the different offices are handled through the service provider, rather than through the PSTN. The process employs SIP trunking to make connections through the service provider's IP network. SIP handles the call set-up, control, and disconnect between PBXs.
With SIP trunking, it may still be desirable to keep a single FXO port connected to the PSTN to support Survivability.
SIP trunking is used to configure dial-plans or rules to route calls to and from the softswitch/IP-PBX to client devices that do not register. A number of trunking devices are configured and rules are set up to route calls from the softswitch/IP-PBX to these devices (Inbound rules), manipulate dial strings in calls from these devices to a softswitch/IP-PBX (Outbound rules), or redirect calls from other local devices to these trunking devices without routing the call to the softswitch/IP-PBX first (Redirect rules).
Each rule contains matching criteria for how to match the calls and points to a target trunking device that the call should be routed to (for Inbound and Redirect rules) or trunking device that the rule should be applied to (for Outbound rules).
When an incoming softswitch/IP-PBX SIP message is received, it is always matched against the list of currently registered clients first. If no registered client matches the destination of the call, these rules are tried. If a rule matches, the device that the rule points to will receive the call. If no rule matches, a configured default rule (if any) is used to match the call.
Messages from SIP clients (including trunking devices) are always forwarded to the SIP ALG configured softswitch/IP-PBX unless there is a matching redirect rule.
Outbound SIP trunking rules support dial string manipulation for outbound calls sent to a network softswitch. Outbound rules allow a gateway to direct calls through the EdgeMarc to a softswitch using appropriate dialing conventions, even if the gateway itself does not support the required conventions.
For example, if a softswitch requires use of a + sign that is not normally supported by a particular gateway, you can define an outbound SIP trunking rule that appends a + sign to outbound calls that come from the gateway.
The following figure illustrates how the SIP trunking rule works. A call comes in from the PSTN through a gateway to the EdgeMarc. The gateway does not support + dialing, so the EdgeMarc applies an outbound SIP trunking rule to prepend a + sign before forwarding the call to the softswitch.
If you assign a particular gateway to multiple outbound SIP trunking rules. The EdgeMarc applies the first matching rule that applies to that gateway.
You can apply SIP trunking rules to redirect local calls through any of the FXO ports on the EdgeMarc to a matching trunking device without having to direct the call to a network softswitch. Any call that matches a specified pattern is automatically routed to a specified gateway, thereby bypassing the network softswitch.
You can also tag redirection rules as having a priority designation. If a priority-tagged call comes in while all FXO ports are in use with non-priority calls, one of the in-progress calls is dropped and the priority call is connected. Priority calls do not interrupt other priority calls, however.
Priority redirection can be used to improve handling of 911 calls, as illustrated in the Priority Redirection figure. If a SIP trunking rule is defined for 911 pattern match and tagged as priority, then a local 911 call is sent directly from the local phone through an FXO port on the EdgeMarc to the designated gateway. If all FXO ports are in use and at least one of the ports is not tagged for priority, then a non-priority call is dropped and the 911 call is connected.
Priority redirection can help emergency responders speed identification of a caller’s location.
Priority calls do not support dial string manipulation. They must be sent through as-is.