[Asterisk-ss7] Let us design an open source
SS7 interfaceforAsterisk
Matthew Crocker
matthew at crocker.com
Mon May 16 08:41:51 CDT 2005
The D channel in a PRI is a subset of ISUP/SS7. It is cannot handle
a full SS7 stack or features.
In order for Asterisk to become a true 'soft switch' it needs to be
able to handle ISUP and TCAP (LNP, 800 dips, ANI-Triggers). The ISUP/
TCAP can get into Asterisk via 2 methods.
1). Traditional packet based SS7 where a 56kbps data channel
carrying SS7 is plugged directly into a port on the Asterisk machine.
For more information take a look at the TDM400P-SS7 Drivers
found on openss7.org They work with the Digium boards. Asterisk
would terminate the MTP1, 2 & 3 and gain access to the ISUP/TCAP
messages carried over the SS7 link
2). SS7 over IP (SIGTRAN). The ISUP/TCAP messages would arrive at
the Asterisk box over an IP connection using SCTP. The ISUP/TCAP
could originate at an SS7 to IP gateway or come direct from an SS7
over IP provider. Verisign is already offering SS7oIP gateway
service. The RBOCs are starting to provide it as well. This is
normally not done over the Internet but with a private T1 based IP
network.
For more information on SIGTRAN and SCTP take a look at http://
www.sigtran.org and RFC2960 (http://www.ietf.org/rfc/rfc2960.txt)
IMHO, I think option 2 is the best, option 1 can be added later if
needed. Option 2 gives flexibility in gateways and/or gateway
providers. It also removes a lot of the headaches from dealing with
MTP1 & MTP2. Linux already supports SCTP in the kernel (linux 2.4
module) so the only thing that needs to be done is handling ISUP &
TCAP (chan_isup, chan_tcap) ????
When dealing with SS7 you get a 'point code', (like an IP address).
You need to plug into the network somewhere, normally it is into an
STP (think SS7 Router). Once you establish a connection to the
network you need to build ISUP routes over that network to the
various devices on the network. Devices include tandems and End
Office switches, LNP databases, etc... When you need to make a
call you first send TCAP messages to find the correct LNP
information, then you send ISUP messages to the proper switch to
create the call. When you get a 1000 block of numbers, you publish
them in the LERG with the point code for the switch handling the
numbers.
With SS7oIP your point code is routed over the SS7 network to your
SS7oIP gateway. The gateway takes the ISUP/TCAP messages, wraps them
in SCTP packets and sends them to your switch via IP. One SCTP
packet can contain more than one message (SCTP data chunk).
Verizon requires that I connect directly to the STP (SS7 routers) in
each LATA that I want to send/receive calls in. Verisign already has
connections to all of the Verizon STPs so one connection to Verisign
(over IP) gets me all of the Verizon STPs. I can then build ISUP
routes over that to the switches I need. Initially I would only need
ISUP routes to the access tandem, PSAP tandem and LNP database. I
would also need IMTs between my media gateway and the access & PSAP
tandems in each LATA. Once I had enough outbound calls during busy
hour to fill a DS-1 to a single EO, I'm required to build IMTs
directly to the EO. I would then need an ISUP route to that EO as
well. All of the point-code, routing information is contained in the
ISUP/TCAP messages.
The asterisk 'call flow' the way I see it, please correct me if I'm
wrong:
PSTN -> Asterisk -> SIP phone call using SS7.
1). ISUP message comes into Asterisk containing the called number
information (chan_isup)
2). Asterisk determines the correct SIP extension (extensions.conf)
and sends a SIP message to the phone (chan_sip)
3). The phone rings, a customer answers. The phone sends a SIP
message back to Asterisk notifying it of the answer (chan_sip)
4). Asterisk determines the correct IMT/Media gateway needed to
handle the call (from tandem? from end office?, available trunks...)
5). Asterisk sends a message to the media gateway to reserve a
certain channel/port and assign it to SIP, phone IP ... (chan_mgcp)
6). Asterisk sends an ISUP message to the originating switch with
information on which trunk to send the call down (chan_sip)
7). Originating PSTN switch reserves the trunk and connects the
caller to it
8). The Media gateway turns the trunk data into g.729 and sends it to
the SIP phone.
9) <Conversation>
10). SIP phone hangs up, sends a message to Asterisk (chan_sip)
11). Asterisk sends a message to the media gateway to clean up the
call (chan_mgcp)
12). Asterisk sends a message to the PSTN switch to clean up the call
(chan_isup)
During the entire call process Asterisk needs to maintain the state
of the call, and the media gateway IMT trunks
Asterisk would need to maintain a 'map' of the network containing all
of the Media Gateways, their trunks and which switches they are
connected to. MG #1, Trunk #1 connected to Tandem (point code) as
Trunk #1 in Trunk Group #1 .... Asterisk would also need to maintain
the relevant parts of the LERG for outbound call routing (NPA-NXX
goes to EO (point code) which can be reached via the access tandem
and trunk group #1)
A lot of the work is already out there, as open source. It just
needs to be put together.
On May 16, 2005, at 8:42 AM, CARDOSO Jorge Miguel wrote:
> Some Cisco Gw's support a feature called "MGCP PRI BackHaul", this
> means the bearer channels can be controlled using MGCP and PSTN
> signalling (ss7) can be exchanged between Softswitch and PSTN using
> TCP.
>
>
>
> Regards,
> Jorge Cardoso
>
> Race Vanderdecken wrote:
>
>> Okay, there seems to be agreement as to how to do this. Doing ISUP
>> and
>> TCAP is what I have heard from others I have proposed the same
>> questions
>> to in the past.
>> Running the SS7 to PSTN interface on a "cisco" type box also has been
>> recommended by others. By "cisco" I mean any certified box that is
>> available to most of the VoIP guys. Having to purchase an X thousand
>> dollar box is not going to work. Have any of you looked at
>> ss7box.com?
>> So, we need to create a SS7 socket interface to asterisk.
>> I have built several socket interfaces in the past that have
>> worked in
>> commercial products. All were based on Stevens' Unix Programming and
>> Networking books.
>> Where do I find the socket interface on our "cisco" ss7 box?
>>
> _______________________________________________
> Asterisk-SS7 mailing list
> Asterisk-SS7 at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-ss7
>
--
Matthew S. Crocker
Vice President
Crocker Communications, Inc.
Internet Division
PO BOX 710
Greenfield, MA 01302-0710
http://www.crocker.com
More information about the Asterisk-SS7
mailing list