<div dir="ltr"><div>hi all,<br>does libss7 or chan_ss7 work with asterisk 13?<br></div>Regards<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Sun, Mar 27, 2016 at 1:11 PM, Kaloyan Kovachev <span dir="ltr"><<a href="mailto:kkovachev@varna.net" target="_blank">kkovachev@varna.net</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi,<br>
<br>
On 2016-03-26 15:37, Mehdi Shirazi wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi<br>
Thank you for reply.<br>
for simulating a real PSTN network scenario I still need to have 2<br>
point code in asterisk and one signaling link for them.<br>
</blockquote>
<br>
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<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
In existing libss7 ,if we have 2 signaling links on 2 linksets with 2<br>
opc for Asterisk there is no problem.<br>
I looked at source of libss7 I saw in mtp3.c:( with my limited<br>
programming knowledge)<br>
if (ss7->pc != rl.dpc) {<br>
ss7_error(ss7, "Received message destined for point code 0x%x, but we<br>
are 0x%x.  Dropping\n", rl.dpc, ss7->pc);<br>
</blockquote>
<br>
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.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
....<br>
switch (userpart) {<br>
        case SIG_ISUP:<br>
                if (link->adj_sp->state == MTP3_UP) {<br>
        return isup_receive(ss7, link, &rl, sif + rlsize, siflen - rlsize);<br>
<br>
so it seems for every linkset there is a "struct ss7", and if we can<br>
query existing list of "struct ss7"s(linksets) and find<br>
matching ss7->pc with received MSU point code, we can put correct<br>
address of "struct ss7" in "isup_receive()" function<br>
and send the call to it's appropriate linkset.<br>
according to my grep libss7 allocate new "struct ss7" with<br>
*ss7_new(int switchtype) function but I cannot find where<br>
libss7 call this function and where is list of allocated "struct ss7"= linksets<br>
Do you agree with me and could you please help me ?<br>
</blockquote>
<br>
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.<br>
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.<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Regards<br>
M.Shirazi<br>
<br>
<br>
<br>
--------------------------------------------<br>
On Mon, 3/21/16, Kaloyan Kovachev <<a href="mailto:kkovachev@varna.net" target="_blank">kkovachev@varna.net</a>> wrote:<br>
<br>
Subject: Re: [asterisk-ss7] Asterisk with one signalling link but 2 opc<br>
To: "Mehdi Shirazi" <<a href="mailto:mahdi_shirazi@yahoo.com" target="_blank">mahdi_shirazi@yahoo.com</a>>, <a href="mailto:asterisk-ss7@lists.digium.com" target="_blank">asterisk-ss7@lists.digium.com</a><br>
Date: Monday, March 21, 2016, 8:11 AM<div><div class="h5"><br>
<br>
Hi,<br>
Asterisk (with libss7) is a signaling end-point, so you<br>
can't have two<br>
point-codes - you need an STP (which Asterisk is not)<br>
between the two<br>
boxes in order to separate the two signaling channels.<br>
However you do not need two point-codes for this setup, but<br>
simply to<br>
define two groups of channels ... from the example in my<br>
previous email,<br>
change the linkset definitions to:<br>
<br>
linkset=1<br>
networkindicator=national<br>
group=1<br>
context=From_Span1<br>
pointcode=1<br>
defaultdpc=2<br>
adjpointcode=2<br>
cicbeginswith=1<br>
channel => 1-15<br>
group=2<br>
context=From_Span2<br>
cicbeginswith=17<br>
channel => 17-31<br>
sigchan=16<br>
<br>
#include ss7.timers<br>
<br>
linkset=2<br>
networkindicator=national<br>
group=3<br>
context=From_Span3<br>
pointcode=2<br>
defaultdpc=1<br>
adjpointcode=1<br>
cicbeginswith=1<br>
channel => 32-46<br>
group=4<br>
context=From_Span4<br>
cicbeginswith=17<br>
channel => 48-62<br>
sigchan=47<br>
<br>
#include ss7.timers<br>
<br>
<br>
Now you have 4 groups on the same 2 linksets, which is equal<br>
of having<br>
two separate linksets on the same signalling link.<br>
<br>
<br>
On 2016-03-21 07:40, Mehdi Shirazi wrote:<br>
> Hi<br>
> I connected 2 asterisk server with libss7 together to<br>
simulate real<br>
> scenario.<br>
> There is one signaling link between .<br>
> Asterisk one has one opc11 but Asterisk two have two<br>
opc2_1 and opc2_2.<br>
> There is 2 spans between , and I want to first spans<br>
use opc2_1 and<br>
> second span use opc2_2.<br>
> For setting Asterisk one there is no problem , in same<br>
linkset I can<br>
> add new defaultdpc=3<br>
> and new channels and new CICs. but in second server how<br>
I can add CICs<br>
> ,here I should separate<br>
> add CICs based on pointcode (opc2_1 and opc2_2) but it<br>
seems one link<br>
> set just accept one point code.<br>
><br>
> If I want to add linkset with new pointcode(opc) with<br>
same signaling<br>
> channel it is not possible.<br>
><br>
> how I can have one signaling link but multiple<br>
originate point code in<br>
> different channel groups  ?<br>
><br>
> Regards<br>
> M.Shirazi<br>
</div></div></blockquote><div class="HOEnZb"><div class="h5">
<br>
-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-ss7 mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
  <a href="http://lists.digium.com/mailman/listinfo/asterisk-ss7" rel="noreferrer" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-ss7</a></div></div></blockquote></div><br></div>