Asterisk, SS7, and ss7box
Last updated: 10 January 2006
SS7 ISUP calls are successfully being made between Asterisk boxes and the PSTN in Pakistan, Paraguay, and USA. For detailed progress information refer to the developer blog. The product plan is being maintained in a wiki where outside comment is welcomed. Links to the blog and wiki are found in the navigational box on this web page to the right.
The system described has gone without a name and is at risk of being known by one of its components. It is recommended that the system be called a signal/media gateway (SMG).
The SMG includes the GPL licensed chan_woomera as the interface to Asterisk. The Woomerang component of SMG uses chan_woomera and provides management services and a socket-based information transfer point between Asterisk and SS7 ISUP translation services. Woomerang provides an efficient and legal interface boundry, minimal impact to Asterisk, and promotes reuse with other soft switches and media gateways.
Disclaimer: Asterisk is a trademark of Digium. The SMG is not a part of the Asterisk product and is not supported by Digium. The SMG interfaces to Asterisk using GPL'd components where compiled or library-based interfaces are needed, and socket interfaces for non-GPL'd components.
Signal Media Gateway Architecture
The first version of the SMG supports a single SS7 F-link embedded in a single E1/T1. The configuration is shown in Figure 1.
Figure 1 - SMG Architecture - Single Node With F Link Support
Next, the SMG will support multiple E1/T1 on more than one node. Nodes can be grouped to form a single point code. There can be several groups each with different point codes. Each node is identified by point code and CIC range. The SS7 F-link is supported. The configuration is shown in Figure 2.
Figure 2 - SMG Architecture - Multi-Node With F Link Support
ss7box already supports A-links, so the next configuration evolution will be that shown in Figure 3. Two ss7box nodes provide A-link access to the SS7 network. Signaling to and from SMG is done over the IP network. Each SMG is connected to the PSTN over IMT's. In Figure 3, each line connecting an SMG to the PSTN represents N inter-machine trunks.
Figure 3 - SMG Architecture - Multi-Node With A Link Support
A-Link Access
A-links connect SSPs and SCPs to a redundant SS7 routing network made of STPs. Networks using STPs create a hierarchical network where no SSPs or SCPs are connected directly to each other. The A-link access method is always used in Canada and the United States. It is often used in wireless networks worldwide. It is used whenever there is a redundant pair of Signal Transfer Points (STP) or Service Control Points (SCP). Figure 4.1 below shows the basic SS7 network architecture where A-links are used.
Figure 4.1 - SS7 Network Architecture using Redundant STP and SCP
A-link SS7 access is a separate service with a signifigant monthly charge. The Asterisk user community has expressed a strong desire to maximize use of A-links. The call handling capacity of a single SS7 link about 72,000 call/hour as shown below:
- Each narrow band link is 64kb/s, or 8000 octets/sec
- Use 40% of bandwidth (typical SS7 engineering rule), 3200 octets/sec
- Each POTS call uses 5 messages for a total of 160 octets (1 X 80 and 4 X 20)
- 3200/160 = 20 calls per second, 72,000 calls/hour
Since A-links are always deployed in pairs, the capacity is 144,000 calls/hour. It is left as an exercise to the reader to calculate the capacity of a 56kb/s A link which is commonly available in Canada and the United States.
With so much call handling capacity there is a strong motivation to find a way to distribute this capacity amoung many Asterisk boxes. One has to look no further than RFC 3332 /to find a model for a soultion in a device called a signal gateway. A signal gateway is a bridge between the SS7 network and the IP network. If one connects a signal gateway to a pair of A-links on one side of the device, and connects many Asterisk (or any soft PBX) to the IP side of the gateway, then we have strong start on the solution. All that is left to do is devise a method to use information in the signal messages to route messages to the intended destination. Figure 4.2 below shows the configuration of ss7box used as a signal gateway between the SS7 network and a cluster of Asterisk boxes.
Figure 4.2 - ss7box Signal Gateways Serving an Asterisk Cluster
A redundant ss7box configuration keeps the reliability very high. If an A link is lost, the recovery information is shared between ss7boxes over a LAN. If an ss7box is lost, then the remaining ss7box and A-link can carry the entire traffic load until ss7box and A-link redundancy is restored.
Later in this discussion we will examine the internal architecture of this configuration.
F-Link Access
F-links provide direct access between SSPs and SCPs. F-links create a star network. The SSPs in such a network often have the transfer function so that they can route SS7 messages through to other nodes.
Before we take a close look at SS7 F-links and compare them to PRI, let's list some terms and their definitions:
- ISUP
- ISDN User Part and is a protocol for setting up and tearing down calls on IMTs. ISUP message formats and codes are defined in Q.763.
- IMT
- inter-machine trunk connecting to SS7 switching service points (SSP). All channels on an IMT are used for voice
- SSP
- Switching Service Point, an SS7 node that provides circuit switching servive
- STP
- Signal Transfer Point, an SS7 node that is message router
- SCP
- Service Control Point, an SS7 node that provide special services, they are often databases
- SS7 node
- an SSP. STP, or SCP; each node has a point code
- point code
- SS7 network address of a node; 24 bit (ANSI/China) or 14 bit (ITU)
- linkset
- a set of links between two SS7 nodes; there are up to 16 links in a linkset and up to 32 links in a combined linkset (ANSI only)
On an E1 SS7 Inter-Machine Trunk (IMT) there are n voice channels and m SS7 channels where n is 1..31 and m is 0..16. It is typical to see n=30 and m=1, or n=31 and m=0. ISUP signals on an SS7 F-link pertain to all inter-machine trunks connected to the SSPs that are also connected by the F-link linkset. All SS7 links are grouped into a linkset. All links in a linkset are normally active and passing traffic. A failure in a link causes a failover operation that attempts to recover untransmitted messages from the failed link and transmit them on the remaining links in the linkset. Figure 5 below shows a single F-llink linkset in an IMT between two SSP.
Figure 4.3 - SS7 F-Link Connection, Single-Link Linkset
If traffic between two SSP is high, then more SS7 IMT are added. When there are more than one IMT, it makes sense to add another SS7 link on a separate E1. If one of the IMTs carrying an SS7 F-link fails, then another SS7 link in another IMT will continue to function. All F-links between two nodes are always in the same linkset. Figure 4.4 below shows two SSPs connected by three IMTs and a two-link linkset.
Figure 4.4 - SS7 F-Link Connection, Two-Link Linkset
There needs to be an SS7 F-link capability in each Asterisk platform that is required to connect to SS7 F-link IMTs. This is quite a different requirement from the A-link configuration discussed earlier where SS7 functionality is relegated to a pair of signal gateways, and each Asterisk has to interface over an IP LAN/WAN for signaling information. In economic terms, F-links are quite different from A-links too. F-links are simply part of the F-link IMT. SS7 is not a separate cost item as it is in an A-link environment. F-links do not require the same level of capacity as an A-link either.
At this point we can make some generalizations about A-links and F-links that will act as design guidelines. A-links access devices should be expected to carry high loads reliably. A-links are expensive, so it's important to share their service amoung many clients. F-link access devices are expected to carry light traffic loads reliably. F-link cost is embedded in the cost of the IMT. F-link access sharing is not as useful as A-link sharing since the F-link is embedded in each IMT. An F-link environment will have more SS7 links deployed than an A-link environment. A-link access requires fewer connections but more functionality. F-link access requires more connections but less functionality.