<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<!--[if !mso]>
<style>
v\:* {behavior:url(#default#VML);}
o\:* {behavior:url(#default#VML);}
w\:* {behavior:url(#default#VML);}
.shape {behavior:url(#default#VML);}
</style>
<![endif]-->
<style>
<!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:Verdana;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p
        {mso-style-priority:99;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 70.85pt 70.85pt 70.85pt;}
div.WordSection1
        {page:WordSection1;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=SV link=blue vlink=purple>
<div class=WordSection1>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Hi Jan,<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>You are right of course, ISUP needs more than just the signaling
to be relevant. My focus is on SCCP as it’s MAP and INAP that is most
interesting for me.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Yes, I use the LGPL M3UA stack.<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>/Sverker<o:p></o:p></span></p>
<p class=MsoNormal><span lang=EN-US style='font-size:11.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<div style='border:none;border-left:solid blue 1.5pt;padding:0cm 0cm 0cm 4.0pt'>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'>
<p class=MsoNormal><b><span lang=EN-US style='font-size:10.0pt;font-family:
"Tahoma","sans-serif"'>From:</span></b><span lang=EN-US style='font-size:10.0pt;
font-family:"Tahoma","sans-serif"'> asterisk-ss7-bounces@lists.digium.com
[mailto:asterisk-ss7-bounces@lists.digium.com] <b>On Behalf Of </b>Jan Berger<br>
<b>Sent:</b> den 14 juli 2010 3:15<br>
<b>To:</b> asterisk-ss7@lists.digium.com<br>
<b>Subject:</b> Re: [asterisk-ss7] SIGTRAN GW based on libss7<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:10.0pt;
font-family:"Verdana","sans-serif"'>hi Sverker,<br>
<br>
Most interesting article.<br>
<br>
SCCP over M3UA is straight forward, but how would you do ISUP?<br>
<br>
What I mean is that ISUP contains reference to CIC's and basically is an
instruction to connect a voice channel - but what will you use to actually connect
to the voice channel ? Asterisk acting as an AS can be on a different box than
the SG, meaning that if you run a proper SG you will need to connect the voice
out from that box as well.<br>
<br>
Are you using the LGPL M3UA stack?<br>
<br>
Jan<br>
<br>
> From: sverker@abrahamsson.com<br>
> To: asterisk-ss7@lists.digium.com<br>
> Date: Tue, 13 Jul 2010 20:31:22 +0200<br>
> Subject: [asterisk-ss7] SIGTRAN GW based on libss7<br>
> <br>
> Hello everybody,<br>
> Since a while back I've been working on a SIGTRAN signaling gateway which<br>
> use libss7 for MTP2 and MTP3 layers and currently support M3UA on the IP<br>
> side, it needs some more work as still many things are hardcoded for the<br>
> specific application but it is being used in production currently. I'm
using<br>
> E1 card from Sangoma with wanpipe 3.5.11.4 and dahdi 2.3.0.<br>
> <br>
> To do that I've modified libss7 1.0.2 to allow SCCP packages to be passed<br>
> from libss7 to the gateway app, as I'm currently using only that protocol.<br>
> I'm now looking into cleaning up the code and making it general purpose,
and<br>
> I'm also facing an issue. Some questions and remarks:<br>
> <br>
> * libss7 contains implementations for MTP2, MTP3 and ISUP. I'd be
interested<br>
> to support ISUP over the SIGTRAN as well. One way to solve that is that
the<br>
> lib has a call where the application can register which protocols it's<br>
> interested of, i.e. ISUP in that case will be passed on to gw application<br>
> instead of handled by internal implementation<br>
> <br>
> * in file NEWS-05-30-2008 it is mentioned that part of MTP2 processing has<br>
> been moved to kernel space with a new channel driver in zaptel. Does that<br>
> work with dahdi as well and is there any configuration needed to enable
it?<br>
> I saw an issue on sending mtp2 packets, they were queued in user space but<br>
> the poll in ss7linktest (that I based my app on) never got enabled for<br>
> write. I did a quick fix in mtp3_transmit that after calling mtp2_msu then<br>
> ss7_write is called.<br>
> <br>
> * as I understand the trunk is not the most up to date but there are<br>
> development in other branches. Should I port my changes to trunk or to
some<br>
> other branch?<br>
> <br>
> * In trunk there has been some api changes so that ss7linktest doesn't<br>
> compile. I did changes to make it compile but I might have misunderstood<br>
> something as it didn't work to run it, the link didn't come up. Is there
any<br>
> API docs or working example code to use with trunk (or recommended
branch)?<br>
> How about merging the branches and make a 2.0 release?<br>
> <br>
> * I'm currently facing an issue with memory corruption, I get the
following<br>
> from valgrind:<br>
> <br>
> ==3591== 4999998 errors in context 2 of 8:<br>
> ==3591== Thread 3:<br>
> ==3591== Invalid free() / delete / delete[]<br>
> ==3591== at 0x400551D: free (vg_replace_malloc.c:325)<br>
> ==3591== by 0xC53E2F: mtp2_receive (mtp2.c:403)<br>
> ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>
> ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>
> ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>
> ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>
> ==3591== Address 0x40c9958 is 0 bytes inside a block of size 520 free'd<br>
> ==3591== at 0x400551D: free (vg_replace_malloc.c:325)<br>
> ==3591== by 0xC53E2F: mtp2_receive (mtp2.c:403)<br>
> ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>
> ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>
> ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>
> ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>
> ==3591==<br>
> ==3591==<br>
> ==3591== 4999998 errors in context 3 of 8:<br>
> ==3591== Invalid read of size 4<br>
> ==3591== at 0xC53E22: mtp2_receive (mtp2.c:402)<br>
> ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>
> ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>
> ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>
> ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>
> ==3591== Address 0x40c9b5c is 516 bytes inside a block of size 520 free'd<br>
> ==3591== at 0x400551D: free (vg_replace_malloc.c:325)<br>
> ==3591== by 0xC53E2F: mtp2_receive (mtp2.c:403)<br>
> ==3591== by 0xC5460B: ss7_read (ss7.c:365)<br>
> ==3591== by 0x80493B6: ss7_run (sgw.c:114)<br>
> ==3591== by 0xC83831: start_thread (in /lib/libpthread-2.5.so)<br>
> ==3591== by 0xBC3E0D: clone (in /lib/libc-2.5.so)<br>
> <br>
> Is this something that has already been addressed in trunk/dev branch? It<br>
> had worked fine for a couple of weeks and then suddenly started to happen<br>
> quite frequently under load.<br>
> <br>
> * The plan for the signaling gateway is to support M3UA, M2UA and M2PA as<br>
> well as the Dialogic gct api. Naturally it will have to be released under<br>
> GPL since libss7 is.<br>
> <br>
> Best regards<br>
> Sverker<br>
> <br>
> <br>
> -- <br>
> _____________________________________________________________________<br>
> -- Bandwidth and Colocation Provided by http://www.api-digital.com --<br>
> <br>
> asterisk-ss7 mailing list<br>
> To UNSUBSCRIBE or update options visit:<br>
> http://lists.digium.com/mailman/listinfo/asterisk-ss7<o:p></o:p></span></p>
<div class=MsoNormal align=center style='text-align:center'><span
style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>
<hr size=2 width="100%" align=center>
</span></div>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>Your
E-mail and More On-the-Go. Get Windows Live Hotmail Free. <a
href="https://signup.live.com/signup.aspx?id=60969" target="_new">Sign up now.</a><o:p></o:p></span></p>
</div>
</div>
</body>
</html>