VoIP and SS7
Introduction
n Channel Associated Signaling (CAS)
n Still widely deployed today
n Considered as old technology
n Common Channel Signaling (CCS)
n Separation of signaling and call paths
n Signaling System 7 (SS7)
n To enable a wide range of services to be provided to the end-user
n Caller ID, toll-free calling, call
screening, number portability, etc.
n SS7 is the foundation for
Intelligent Network (IN) services.
Class 5
End Office Switch
The Telephone Network [1/2]
Circuit Switched Network Intelligent
Peripheral
Signal Transfer Point
Service Control Point
Class 4
Tandem Switch
Service Data Point +
Transport Layer Control Layer SS7 Signaling
ISUP Messages
INAP/TCAP Messages
The Telephone Network [2/2]
n
5 Basic Components in Intelligent Networks
n SSP/Service Switching Point
n switching, service invocation
n STP/Service Transfer Point
n signal routing
n SCP/Service Control Point
n service logic execution
n SDP/Service Data Point
n subscriber data storage, access
n IP/Intelligent Peripheral
n resources such as customized voice announcement, voice recognition, DTMF digit collection
SSPSSP
SCPSCP
SDPSDP
STPSTP IPIP
SSPSSP STPSTP
TCAP messages
ISUP messages Voice
SS7 Network Architecture
n A typical SS7 network arrangement
n This configuration serves several purposes.
n A fully meshed signaling network is not required.
n The quad arrangement ensures great robustness.
Signaling Point (SP)
n
Each node in an SS7 network is an SP.
n
The signaling address of the SP is known as a signaling point code (SPC).
n
Linkset
n Group of signaling links directly connecting two SPCs
n For capability and security reasons
Signal Transfer Point (STP)
n To transfer messages from one SPC to another
Service Control Point (SCP)
n
A network entity that contains additional logic and that can be used to offer advanced
services
n
The switch sends a message to the SCP asking for instructions.
n The SCP, based upon data and service logic that is available, will tell the switch which actions need to be taken.
n
An good example – toll-free 800 number
SS7 Protocol Suite
TCAP ISUP SCCP
MAP
MTP Level 3 MTP Level 2 MTP Level 1
OSI Layers Application Presentation
Session Transport
Network
Data Link Physical
INAP
MTP Levels 1 & 2
n
Message Transfer Part
n Responsible for getting a particular message from the source to the destination
n
Level 1
n Handling the issues related to the signals on the physical links between one signaling node and another
n
Level 2
n Dealing with the transfer of messages on a given link from one node to another
n Providing error detection/correction and sequenced delivery of the SS7 messages
MTP Level 3
n
Signaling message handling
n Providing message routing between signaling points in the SS7 network
n
Signaling network management
n Rerouting traffic to other SS7 signaling links in the case of link failure, congestion or node failure
n Load-sharing
ISDN User Part (ISUP)
n Used as the protocol for setting up and tearing down phone calls between switches
n Initial Address Message (IAM)
n To initiate a call between two switches
n Address Complete Message (ACM) - Optinal
n To cause a one-way audio path opened from the destination switch to the originating switch (the caller can hear a ring- back tone)
n Call Progress Message (CPG) – Optional
n To provide additional information to the calling switch regarding the handling of the call
n Answer Message (ANM)
n To indicate that a call has been accepted by the called party
n Release Message (REL)
n To initiate call disconnection
ISUP Call Establishment and Release
• A given circuit between two switches is identified by OPC, DPC and CIC.
IAM
IAM
ACM ACM
One-way audio
CPG CPG
ANM ANM
Two-way speech path
REL REL
RLC RLC
a b c d e f g h i j k l m
n
SCCP
n
Signaling Connection Control Part
n
Used as the transport layer for TCAP-based services
n freephone (800/888), calling card, wireless roaming
n
Both connection-oriented and connectionless
n Mostly connectionless signaling
n
Global title translation (GTT) capabilities
n The destination signaling point and subsystem number is determined from the global title
TCAP, MAP and INAP
n
TCAP (Transaction Capabilities Applications Part)
n Supporting the exchange of non-circuit related information between signaling points
n Queries and responses sent between SSPs and SCPs are carried in TCAP messages
n
INAP (IN Application Part)
n
MAP (Mobile Application Part)
Performance Requirements for SS7
n VoIP networks should support the performance requirements
specified for SS7.
n A given route set should not be out of service for more than 10
minutes per year.
n No more than 1x10-7 messages should be lost.
n No more than 1x10-10 messages should be delivered out of
sequence.
n In ISUP, numerous timing requirements must be met.
n How to make sure that VoIP
networks can emulate the signaling performance of SS7.
n SIGTRAN (Signaling Transport) group of IETF
Softswitch Architecture
Signaling (SS7) Gateway
Trunking Gateway
Call Agent SCP
Residential Gateway
Internet
SS7 Network
STP
Trunking GatewayTrunking
Gateway CO
Switch
Residential GatewayResidential
Gateway
MGCP/
MEGACO
MGCP/
MEGACO
RTP SIGTRAN
Signaling Transport (SIGTRAN)
n
Addressing the issues regarding the transport of signaling within IP networks
n The issues related to signaling performance within IP networks and the interworking with PSTN
n
SIP/MEGACO/ISUP Interworking
n Translating the MTP-based SS7 message (e.g., IAM) to IP-based message (e.g., IP IAM)
n Just a simple translation from point code to IP address ???
SIGTRAN
n
Issues discussed in SIGTRAN
n Address translation
n How can we deploy an SS7 application (e.g., ISUP) that expects certain services from lower layers
such as MTP when lower layers do not exist in the IP network?
n For transport layer, the ISUP message must be
carried in the IP network with the same speed and reliability as in the SS7.
n UDP x
n TCP x
n
RFC 2719, “Framework Architecture for Signaling Transport”
n To describe an overall approach and methodology for signaling transport within IP networks
SIGTRAN Architecture
n Signaling over standard IP uses a common transport protocol that ensures reliable signaling delivery.
n Error-free and in-sequence
n Stream Control Transmission Protocol (SCTP)
n An adaptation layer is used to support specific primitives as required by a particular signaling application.
n The standard SS7 applications (e.g., ISUP) do not realize that the underlying transport is IP.
ISUP Transport to MGC
n NIF (Nodal Interworking Function) is responsible for inetworking between the SS7 and IP networks
SIGTRAN Protocol Stack
n SCTP: fast delivery of messages (error-free, in sequence delivery), network-level fault tolerance
Adaptation Layer [1/3]
n M2UA (MTP-2 User Adaptation Layer)
Adaptation Layer [2/3]
n M2PA (MTP-2 Peer-to-Peer Adaptation Layer)
n An SG that utilizes M2PA is a signaling node for the MGC.
n It is effectively an IP-based STP.
n SG can processing higher-layer signaling functions, such as SCCP GTT.
Adaptation Layer [3/3]
n M3UA (MTP3-User Adaptation Layer)
n SUA (SCCP-User Adaptation Layer)
n Applications such as TCAP use the services of SUA.
n IUA (ISDN Q.921-User Adaptation Layer)
n V5UA (V5.2-User Adaptation Layer)
SCTP
n
To offer the fast transmission and reliability required for signaling carrying.
n
SCTP provides a number of functions that are critical for telephony signaling transport.
n It can potentially benefit other applications needing transport with additional performance and reliability.
n
SCTP must meet the Functional Requirements
of SIGTRAN.
Why not use TCP?
n
TCP provides both reliable data transfer and strict order-of-transmission, but SS7 may not need ordering.
n TCP will cause delay for supporting order-of- transmission.
n Head-of-line Blocking
n
The limited scope of TCP sockets complicates the task of data transmission using multi-
homed hosts.
n
TCP is relatively vulnerable to DoS attack,
such as SYN attacks.
What Supported By Using SCTP?
n
To ensure reliable, error-free, in-sequence delivery of user messages (optional).
n
To support fast delivery of messages and avoid head-of-line blocking.
n
To support network-level fault tolerance that is critical for carrier-grade network
performance by using multi-home hosts.
n
To provide protection against DoS attack by
using 4-way handshake and cookies.
SCTP Endpoint & Association
n Endpoint
n The logical sender/receiver of SCTP packets.
n Transport address = IP address + SCTP port number
n An endpoint may have multiple transport addresses (for multi-homed host).
n Association
n A protocol relationship between SCTP endpoints.
n Before applications at two endpoints can communicate, an association must be established.
n Two SCTP endpoints MUST NOT have more than one SCTP association.
n The task of instigating an SCTP association falls to the applicable adaptation layer.
Multi-Homed Host
Host A
SCTP User
Host B
One IP address
One SCTP association with multi-homed redundant
SCTP
SCTP User SCTP
One IP address One IP address
SCTP Streams
n
A stream is a one-way logical channel between SCTP endpoints.
n The number of streams supported in an
association is specified during the establishment of the association.
n
To avoid head-of-line blocking and to ensure in-sequence delivery
n In-sequence delivery is ensured within a single stream.
SCTP Functional View [1/5]
Association Startup
and Takedown
Sequenced Delivery User Data Segmentation
Acknowledgment and Congestion Avoidance
Chunk Multiplex Message Validation
---SCTP User Application
Path Management
Functional View [2/5]
n
Association Startup and Takedown
n An association is initiated by a request from the SCTP user.
n SCTP provides for graceful close of an active association.
n On request from the SCTP user
n SCTP allows ungraceful close.
n On request from the user (ABORT primitive) or as a result of an error condition detected within the SCTP layer
Functional View [3/5]
n
Sequenced Delivery within Streams
n Stream is used to refer to a sequence of user messages that are to be delivered to the ULP.
n SCTP ensures that messages are delivered to the SCTP user in sequence within a given stream.
n SCTP provides a mechanism for bypassing the sequenced delivery service.
Functional View [4/5]
n
User Data Fragmentation
n Fragmenting user messages to conform the lower layer MTU
n
Acknowledgement and Congestion Avoidance
n Responsible for packet retransmission when timely acknowledgement has not been received
n
Packet Validation
n Verification Tag
n Checksum
Functional View [5/5]
n
Chunk Bundling
n The SCTP user has the option to request bundling of more than one user message into a single SCTP packet.
n
Path Management
n To monitor reachability of the far-end endpoint through heartbeats
SCTP Packets & Chunks
n
A SCTP packet can comprise several chunks.
n
Chunk
n Data or control
Source Port Number Destination Port Number Verification Tag
Checksum
Chunk Type Chunk Flags Chunk Length Chunk Value
. . .
Common Header
Chunk 1
Chunk N
0 . . . 15 16 . . . 31
…
Chunk Type
ID Value Chunk Type
n --- ---
n 0 - Payload Data (DATA)
n 1 - Initiation (INIT)
n 2 - Initiation Acknowledgement (INIT ACK)
n 3 - Selective Acknowledgement (SACK)
n 4 - Heartbeat Request (HEARTBEAT)
n 5 - Heartbeat Acknowledgement (HEARTBEAT ACK)
n 6 - Abort (ABORT)
n 7 - Shutdown (SHUTDOWN)
n 8 - Shutdown Acknowledgement (SHUTDOWN ACK)
n 9 - Operation Error (ERROR)
n 10 - State Cookie (COOKIE ECHO)
n 11 - Cookie Acknowledgement (COOKIE ACK)
n 12 - Reserved for Explicit Congestion Notification Echo (ECNE)
n 13 - Reserved for Congestion Window Reduced (CWR)
n 14 - Shutdown Complete (SHUTDOWN COMPLETE)
n … - Reserved for IETF
INIT Chunk
Advertised Receiver Window Credit (a_rwnd) Number of Outbound Streams
Type = 1 Chunk Flags Chunk Length
Initial TSN (Transmission Sequence Number)
. . .
0 . . . 15 16 . . . 31
Initial Tag (A Random Number)
Number of Inbound Streams
Optional / Variable-Length Parameter
Association Establishment
A Z
INIT [I-Tag=Tag_A]
INIT ACK [V-Tag=Tag_A, I-Tag=Tag_Z, Cookie_Z]
COOKIE [Cookie_Z]
COOKIE ACK
allocating resources
User Data Transfer
SCTP user
SCTP Control Chunks
SCTP
SCTP DATA Chunks
User Messages
SCTP packets
Connectionless Packet Transfer Service (e.g. IP)
DATA Chunk
Stream ID = S
Type = 0 Reserved Chunk Length
Payload Protocol ID
. . .
0 . . . 15 16 . . . 31
TSN
Stream Sequence Number = n
User Data (Sequence n of Stream S) U B E
U : unordered B : begin E : end
SACK Chunk
SCTP Robustness
n Robustness is a key characteristic of any carrier- grade network.
n To handle a certain amount of failure in the network without a significant reduction in quality
n The network should provide a graceful rather than a drastic degradation in the event of failures or overload.
n Congestion Control Mechanism and PathMTU Delivery
n INIT and INIT ACK chunks may optionally include one or more IP addresses (a primary address + several secondary addresses).
n Multi-homes hosts
n SCTP ensures that endpoint is aware of the reachability of another endpoint through the following mechanisms.
n SACK chunks if DATA chunk have been sent
n HEARTBEAT chunks if an association is idle