<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
--></style>
</head>
<body class='hmmessage'>
I assume this run's on Linux only ?<BR><br><BR>Is your project on the web somewhere?<br><BR><br><BR>Jan<BR><br>&gt; Date: Thu, 15 Jul 2010 15:57:55 +0200<br>&gt; From: sverker@abrahamsson.com<br>&gt; To: asterisk-ss7@lists.digium.com<br>&gt; Subject: Re: [asterisk-ss7] SIGTRAN GW based on libss7<br>&gt; <br>&gt; No, there is no licence conflict as the binaries are not linked together.<br>&gt; The dialogic stack sit on the other side of the SCTP socket and<br>&gt; communicate with the signaling gateway over SIGTAN. It's only the<br>&gt; signaling gateway code itself that has to be released as GPL as it's<br>&gt; linked to libss7.<br>&gt; /Sverker<br>&gt; <br>&gt; &gt;<br>&gt; &gt; Isn't that a license conflict? I assume Dialogic is commercial?<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Jan<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; From: sverker@abrahamsson.com<br>&gt; &gt; To: asterisk-ss7@lists.digium.com<br>&gt; &gt; Date: Thu, 15 Jul 2010 15:28:43 +0200<br>&gt; &gt; Subject: Re: [asterisk-ss7] SIGTRAN GW based on libss7<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Yes, I’m only using the libss7 up to mtp3 level. The plan is to<br>&gt; &gt; support M2UA as well, and maybe M2PA if the need come up.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; I currently use Dialogic for SCCP/TCAP/MAP layers but the nice<br>&gt; &gt; part about this architecture is that it can be combined with more or less<br>&gt; &gt; any<br>&gt; &gt; stack and any card supported by dahdi.<br>&gt; &gt;<br>&gt; &gt; /Sverker<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; From: asterisk-ss7-bounces@lists.digium.com<br>&gt; &gt; [mailto:asterisk-ss7-bounces@lists.digium.com] On Behalf Of Jan Berger<br>&gt; &gt;<br>&gt; &gt; Sent: den 15 juli 2010 2:47<br>&gt; &gt;<br>&gt; &gt; To: asterisk-ss7@lists.digium.com<br>&gt; &gt;<br>&gt; &gt; Subject: Re: [asterisk-ss7] SIGTRAN GW based on libss7<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; I have never seen the value of ISUP over<br>&gt; &gt; SIGTRAN. CAMEL, INAP, MAP makes more sense, but in that case you should<br>&gt; &gt; only<br>&gt; &gt; use mtp3 and avoid the rest of Asterisk for the IN-apps.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; That is unless you plan an integrated SRP solution.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; For Asterisk I would consider M2UA because that allows an Asterisk to<br>&gt; &gt; benefit<br>&gt; &gt; from the redundancy and failover in M2UA + you could stack a SS7 that<br>&gt; &gt; run's<br>&gt; &gt; over several boxes - thought the value is a bit limited.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; What do you use for SCCP, TCAP and CAMEL/MAP?<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Jan<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; From: sverker@abrahamsson.com<br>&gt; &gt;<br>&gt; &gt; To: asterisk-ss7@lists.digium.com<br>&gt; &gt;<br>&gt; &gt; Date: Thu, 15 Jul 2010 10:17:16 +0200<br>&gt; &gt;<br>&gt; &gt; Subject: Re: [asterisk-ss7] SIGTRAN GW based on libss7<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Hi Jan,<br>&gt; &gt;<br>&gt; &gt; You are right of course, ISUP needs more than just the signaling<br>&gt; &gt; to be relevant. My focus is on SCCP as it’s MAP and INAP that is most<br>&gt; &gt; interesting for me.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Yes, I use the LGPL M3UA stack.<br>&gt; &gt;<br>&gt; &gt; /Sverker<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; From: asterisk-ss7-bounces@lists.digium.com<br>&gt; &gt; [mailto:asterisk-ss7-bounces@lists.digium.com] On Behalf Of Jan Berger<br>&gt; &gt;<br>&gt; &gt; Sent: den 14 juli 2010 3:15<br>&gt; &gt;<br>&gt; &gt; To: asterisk-ss7@lists.digium.com<br>&gt; &gt;<br>&gt; &gt; Subject: Re: [asterisk-ss7] SIGTRAN GW based on libss7<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; hi Sverker,<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Most interesting article.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; SCCP over M3UA is straight forward, but how would you do ISUP?<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; What I mean is that ISUP contains reference to CIC's and basically is an<br>&gt; &gt; instruction to connect a voice channel - but what will you use to actually<br>&gt; &gt; connect to the voice channel ? Asterisk acting as an AS can be on a<br>&gt; &gt; different box<br>&gt; &gt; than the SG, meaning that if you run a proper SG you will need to connect<br>&gt; &gt; the<br>&gt; &gt; voice out from that box as well.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Are you using the LGPL M3UA stack?<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Jan<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;&gt; From: sverker@abrahamsson.com<br>&gt; &gt;<br>&gt; &gt;&gt; To: asterisk-ss7@lists.digium.com<br>&gt; &gt;<br>&gt; &gt;&gt; Date: Tue, 13 Jul 2010 20:31:22 +0200<br>&gt; &gt;<br>&gt; &gt;&gt; Subject: [asterisk-ss7] SIGTRAN GW based on libss7<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; Hello everybody,<br>&gt; &gt;<br>&gt; &gt;&gt; Since a while back I've been working on a SIGTRAN signaling gateway<br>&gt; &gt;&gt; which<br>&gt; &gt;<br>&gt; &gt;&gt; use libss7 for MTP2 and MTP3 layers and currently support M3UA on the IP<br>&gt; &gt;<br>&gt; &gt;&gt; side, it needs some more work as still many things are hardcoded for the<br>&gt; &gt;<br>&gt; &gt;&gt; specific application but it is being used in production currently. I'm<br>&gt; &gt; using<br>&gt; &gt;<br>&gt; &gt;&gt; E1 card from Sangoma with wanpipe 3.5.11.4 and dahdi 2.3.0.<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; To do that I've modified libss7 1.0.2 to allow SCCP packages to be<br>&gt; &gt;&gt; passed<br>&gt; &gt;<br>&gt; &gt;&gt; from libss7 to the gateway app, as I'm currently using only that<br>&gt; &gt;&gt; protocol.<br>&gt; &gt;<br>&gt; &gt;&gt; I'm now looking into cleaning up the code and making it general purpose,<br>&gt; &gt; and<br>&gt; &gt;<br>&gt; &gt;&gt; I'm also facing an issue. Some questions and remarks:<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; * libss7 contains implementations for MTP2, MTP3 and ISUP. I'd be<br>&gt; &gt; interested<br>&gt; &gt;<br>&gt; &gt;&gt; to support ISUP over the SIGTRAN as well. One way to solve that is that<br>&gt; &gt; the<br>&gt; &gt;<br>&gt; &gt;&gt; lib has a call where the application can register which protocols it's<br>&gt; &gt;<br>&gt; &gt;&gt; interested of, i.e. ISUP in that case will be passed on to gw<br>&gt; &gt;&gt; application<br>&gt; &gt;<br>&gt; &gt;&gt; instead of handled by internal implementation<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; * in file NEWS-05-30-2008 it is mentioned that part of MTP2 processing<br>&gt; &gt;&gt; has<br>&gt; &gt;<br>&gt; &gt;&gt; been moved to kernel space with a new channel driver in zaptel. Does<br>&gt; &gt;&gt; that<br>&gt; &gt;<br>&gt; &gt;&gt; work with dahdi as well and is there any configuration needed to enable<br>&gt; &gt; it?<br>&gt; &gt;<br>&gt; &gt;&gt; I saw an issue on sending mtp2 packets, they were queued in user space<br>&gt; &gt;&gt; but<br>&gt; &gt;<br>&gt; &gt;&gt; the poll in ss7linktest (that I based my app on) never got enabled for<br>&gt; &gt;<br>&gt; &gt;&gt; write. I did a quick fix in mtp3_transmit that after calling mtp2_msu<br>&gt; &gt;&gt; then<br>&gt; &gt;<br>&gt; &gt;&gt; ss7_write is called.<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; * as I understand the trunk is not the most up to date but there are<br>&gt; &gt;<br>&gt; &gt;&gt; development in other branches. Should I port my changes to trunk or to<br>&gt; &gt; some<br>&gt; &gt;<br>&gt; &gt;&gt; other branch?<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; * In trunk there has been some api changes so that ss7linktest doesn't<br>&gt; &gt;<br>&gt; &gt;&gt; compile. I did changes to make it compile but I might have misunderstood<br>&gt; &gt;<br>&gt; &gt;&gt; something as it didn't work to run it, the link didn't come up. Is there<br>&gt; &gt; any<br>&gt; &gt;<br>&gt; &gt;&gt; API docs or working example code to use with trunk (or recommended<br>&gt; &gt; branch)?<br>&gt; &gt;<br>&gt; &gt;&gt; How about merging the branches and make a 2.0 release?<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; * I'm currently facing an issue with memory corruption, I get the<br>&gt; &gt; following<br>&gt; &gt;<br>&gt; &gt;&gt; from valgrind:<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== 4999998 errors in context 2 of 8:<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== Thread 3:<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== Invalid free() / delete / delete[]<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== at 0x400551D: free (vg_replace_malloc.c:325)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC53E2F: mtp2_receive (mtp2.c:403)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== Address 0x40c9958 is 0 bytes inside a block of size 520 free'd<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== at 0x400551D: free (vg_replace_malloc.c:325)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC53E2F: mtp2_receive (mtp2.c:403)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591==<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591==<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== 4999998 errors in context 3 of 8:<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== Invalid read of size 4<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== at 0xC53E22: mtp2_receive (mtp2.c:402)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== Address 0x40c9b5c is 516 bytes inside a block of size 520<br>&gt; &gt;&gt; free'd<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== at 0x400551D: free (vg_replace_malloc.c:325)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC53E2F: mtp2_receive (mtp2.c:403)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt; ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; Is this something that has already been addressed in trunk/dev branch?<br>&gt; &gt;&gt; It<br>&gt; &gt;<br>&gt; &gt;&gt; had worked fine for a couple of weeks and then suddenly started to<br>&gt; &gt;&gt; happen<br>&gt; &gt;<br>&gt; &gt;&gt; quite frequently under load.<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; * The plan for the signaling gateway is to support M3UA, M2UA and M2PA<br>&gt; &gt;&gt; as<br>&gt; &gt;<br>&gt; &gt;&gt; well as the Dialogic gct api. Naturally it will have to be released<br>&gt; &gt;&gt; under<br>&gt; &gt;<br>&gt; &gt;&gt; GPL since libss7 is.<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; Best regards<br>&gt; &gt;<br>&gt; &gt;&gt; Sverker<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; --<br>&gt; &gt;<br>&gt; &gt;&gt; _____________________________________________________________________<br>&gt; &gt;<br>&gt; &gt;&gt; -- Bandwidth and Colocation Provided by http://www.api-digital.com --<br>&gt; &gt;<br>&gt; &gt;&gt;<br>&gt; &gt;<br>&gt; &gt;&gt; asterisk-ss7 mailing list<br>&gt; &gt;<br>&gt; &gt;&gt; To UNSUBSCRIBE or update options visit:<br>&gt; &gt;<br>&gt; &gt;&gt; http://lists.digium.com/mailman/listinfo/asterisk-ss7<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Your<br>&gt; &gt; E-mail and More On-the-Go. Get Windows Live Hotmail Free. Sign up now.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; Hotmail:<br>&gt; &gt; Powerful Free email with security by Microsoft. Get it now.<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt;<br>&gt; &gt; _________________________________________________________________<br>&gt; &gt; Hotmail: Trusted email with powerful SPAM protection.<br>&gt; &gt; https://signup.live.com/signup.aspx?id=60969--<br>&gt; &gt; _____________________________________________________________________<br>&gt; &gt; -- Bandwidth and Colocation Provided by http://www.api-digital.com --<br>&gt; &gt;<br>&gt; &gt; asterisk-ss7 mailing list<br>&gt; &gt; To UNSUBSCRIBE or update options visit:<br>&gt; &gt;    http://lists.digium.com/mailman/listinfo/asterisk-ss7<br>&gt; <br>&gt; <br>&gt; -- <br>&gt; _____________________________________________________________________<br>&gt; -- Bandwidth and Colocation Provided by http://www.api-digital.com --<br>&gt; <br>&gt; asterisk-ss7 mailing list<br>&gt; To UNSUBSCRIBE or update options visit:<br>&gt;    http://lists.digium.com/mailman/listinfo/asterisk-ss7<br>                                               <br /><hr />Hotmail: Trusted email with Microsoft’s powerful SPAM protection. <a href='https://signup.live.com/signup.aspx?id=60969' target='_new'>Sign up now.</a></body>
</html>