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>