[asterisk-ss7] Asterisk with one signalling link but 2 opc

Goke Aruna goksie at gmail.com
Mon Apr 18 03:54:39 CDT 2016


hi all,
does libss7 or chan_ss7 work with asterisk 13?
Regards

On Sun, Mar 27, 2016 at 1:11 PM, Kaloyan Kovachev <kkovachev at varna.net>
wrote:

> Hi,
>
> On 2016-03-26 15:37, Mehdi Shirazi wrote:
>
>> Hi
>> Thank you for reply.
>> for simulating a real PSTN network scenario I still need to have 2
>> point code in asterisk and one signaling link for them.
>>
>
> Your real PSTN network scenario most likely requires an STP to split the
> messages to two end points ... once again Asterisk with libss7 is a
> Signalling End Point (SEP) and it has no routing functionality as STP
>
> In existing libss7 ,if we have 2 signaling links on 2 linksets with 2
>> opc for Asterisk there is no problem.
>> I looked at source of libss7 I saw in mtp3.c:( with my limited
>> programming knowledge)
>> if (ss7->pc != rl.dpc) {
>> ss7_error(ss7, "Received message destined for point code 0x%x, but we
>> are 0x%x.  Dropping\n", rl.dpc, ss7->pc);
>>
>
> A signalling link is a point-to-point connection between two SS7 point
> codes and every node has it's own (one and only) point code. If the
> received message is not for it's own point code and the node has no routing
> functionality - it should be dropped (which the code above does). The only
> way to have two point codes is to have an Alias Point Code for a clustered
> node, but again it requires routing and clustering capabilities which
> Asterisk and libss7 does not have yet.
>
> ....
>> switch (userpart) {
>>         case SIG_ISUP:
>>                 if (link->adj_sp->state == MTP3_UP) {
>>         return isup_receive(ss7, link, &rl, sif + rlsize, siflen -
>> rlsize);
>>
>> so it seems for every linkset there is a "struct ss7", and if we can
>> query existing list of "struct ss7"s(linksets) and find
>> matching ss7->pc with received MSU point code, we can put correct
>> address of "struct ss7" in "isup_receive()" function
>> and send the call to it's appropriate linkset.
>> according to my grep libss7 allocate new "struct ss7" with
>> *ss7_new(int switchtype) function but I cannot find where
>> libss7 call this function and where is list of allocated "struct ss7"=
>> linksets
>> Do you agree with me and could you please help me ?
>>
>
> The ss7 code is split between libss7 and Asterisk (chan_dahdi and sig_ss7)
> - that's where ss7_new() is called, when a new linkset is created. What you
> suggest is the same as to define another linkset with the same sigchan,
> which is not possible.
> Instead of checking ss7->pc we should scan a list of routes attached to
> the linkset and to add routing functionality, which is not so simple and
> will require quite a lot of code changes.
>
>
>> Regards
>> M.Shirazi
>>
>>
>>
>> --------------------------------------------
>> On Mon, 3/21/16, Kaloyan Kovachev <kkovachev at varna.net> wrote:
>>
>> Subject: Re: [asterisk-ss7] Asterisk with one signalling link but 2 opc
>> To: "Mehdi Shirazi" <mahdi_shirazi at yahoo.com>,
>> asterisk-ss7 at lists.digium.com
>> Date: Monday, March 21, 2016, 8:11 AM
>>
>>
>> Hi,
>> Asterisk (with libss7) is a signaling end-point, so you
>> can't have two
>> point-codes - you need an STP (which Asterisk is not)
>> between the two
>> boxes in order to separate the two signaling channels.
>> However you do not need two point-codes for this setup, but
>> simply to
>> define two groups of channels ... from the example in my
>> previous email,
>> change the linkset definitions to:
>>
>> linkset=1
>> networkindicator=national
>> group=1
>> context=From_Span1
>> pointcode=1
>> defaultdpc=2
>> adjpointcode=2
>> cicbeginswith=1
>> channel => 1-15
>> group=2
>> context=From_Span2
>> cicbeginswith=17
>> channel => 17-31
>> sigchan=16
>>
>> #include ss7.timers
>>
>> linkset=2
>> networkindicator=national
>> group=3
>> context=From_Span3
>> pointcode=2
>> defaultdpc=1
>> adjpointcode=1
>> cicbeginswith=1
>> channel => 32-46
>> group=4
>> context=From_Span4
>> cicbeginswith=17
>> channel => 48-62
>> sigchan=47
>>
>> #include ss7.timers
>>
>>
>> Now you have 4 groups on the same 2 linksets, which is equal
>> of having
>> two separate linksets on the same signalling link.
>>
>>
>> On 2016-03-21 07:40, Mehdi Shirazi wrote:
>> > Hi
>> > I connected 2 asterisk server with libss7 together to
>> simulate real
>> > scenario.
>> > There is one signaling link between .
>> > Asterisk one has one opc11 but Asterisk two have two
>> opc2_1 and opc2_2.
>> > There is 2 spans between , and I want to first spans
>> use opc2_1 and
>> > second span use opc2_2.
>> > For setting Asterisk one there is no problem , in same
>> linkset I can
>> > add new defaultdpc=3
>> > and new channels and new CICs. but in second server how
>> I can add CICs
>> > ,here I should separate
>> > add CICs based on pointcode (opc2_1 and opc2_2) but it
>> seems one link
>> > set just accept one point code.
>> >
>> > If I want to add linkset with new pointcode(opc) with
>> same signaling
>> > channel it is not possible.
>> >
>> > how I can have one signaling link but multiple
>> originate point code in
>> > different channel groups  ?
>> >
>> > Regards
>> > M.Shirazi
>>
>
> --
> _____________________________________________________________________
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --
>
> asterisk-ss7 mailing list
> To UNSUBSCRIBE or update options visit:
>   http://lists.digium.com/mailman/listinfo/asterisk-ss7
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-ss7/attachments/20160418/ec6073b0/attachment.html>


More information about the asterisk-ss7 mailing list