<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
What is the "Optimized Kernel Mechanism"&nbsp; you reffer to?<BR>
&nbsp;<BR>
Jan<BR><BR>&gt; From: hselasky@c2i.net<BR>&gt; To: freeswitch-dev@lists.freeswitch.org<BR>&gt; Date: Fri, 30 Jan 2009 11:33:29 +0100<BR>&gt; Subject: [Freeswitch-dev] FreeSwitch + ISDN + analog phone adapters - status<BR>&gt; <BR>&gt; Hi,<BR>&gt; <BR>&gt; I'm currently working on ISDN (E1/T1/BRI) support, D-channel protocol wise and <BR>&gt; hardware wise in connection to FreeSwitch. I'm also adding support for analog <BR>&gt; phone adapters through the same API. I promised to Mike Jerris several times <BR>&gt; I would do something, but then the time ran away ... This week I put down <BR>&gt; several hours integrating the ISDN support in FreeSwitch with the ISDN <BR>&gt; support in ISDN4BSD, which should end up with a unified BSD-licensed OpenZap <BR>&gt; code base.<BR>&gt; <BR>&gt; If you are interested in giving some feedback you can check out the following <BR>&gt; files:<BR>&gt; <BR>&gt; svn --username anonsvn --password anonsvn \<BR>&gt; checkout svn://svn.turbocat.net/i4b/trunk/openzap.hps<BR>&gt; <BR>&gt; The files that are there are mainly for inter-process communication, and have <BR>&gt; been constructed in a way that allows easy porting to other platforms. In <BR>&gt; general sockets can be used for this on other UNIX compatible systems as a <BR>&gt; fallback mechanism where the optimised kernel mechanism is not present.<BR>&gt; <BR>&gt; The core (FreeBSD kernel module): Handles routing and broadcasting.<BR>&gt; The client (FreeBSD library): Dumb node sending and receiving messages.<BR>&gt; <BR>&gt; What I plan next is to implement a set of nodes, like [ISDN] controller- <BR>&gt; Q921- and Q931- node. Nodes have pre-defined address ranges which they are <BR>&gt; listening to. Hence I already have a DSS1 stack, splitting it up into using <BR>&gt; message based communication should not be a very big task.<BR>&gt; <BR>&gt; Then you have the application, like FreeSwitch being a node aswell picking up <BR>&gt; broadcast events, which are mostly incoming calls from Q931 and making <BR>&gt; outgoing calls.<BR>&gt; <BR>&gt; Messages have been split into two categories: Important-frames and <BR>&gt; Unimportant-frames. I-Frames gets to use 64 queue entries before getting <BR>&gt; dropped. U-Frames gets to use only 32 queue entries before getting dropped. <BR>&gt; These numbers have not been tuned yet.<BR>&gt; <BR>&gt; Also I have thought through message timing. In bigger systems I see that it is <BR>&gt; required to dither messages in time. On cannot simply receive 30x400 bytes on <BR>&gt; an E1 and burst it into the system, because the message queues will overflow <BR>&gt; pretty quickly. Instead the interrupt rate of the hardware needs to be <BR>&gt; increased so that 400 bytes are received in "1/30 * interval" fashion. This <BR>&gt; will generally improve the system and load-balance in time.<BR>&gt; <BR>&gt; <BR>&gt; The generic Message Header looks like this:<BR>&gt; <BR>&gt; /* NOTE: All fields are little endian */<BR>&gt; <BR>&gt; struct zap_hdr {<BR>&gt; uint8_t dwDstNode[4]; /* Destination Node */<BR>&gt; uint8_t dwSrcNode[4]; /* Source Node */<BR>&gt; uint8_t wCommand[2]; /* Command Number */<BR>&gt; uint8_t wMsgNum[2]; /* Message Number */<BR>&gt; uint8_t bReserved[4]; /* Reserved bytes */<BR>&gt; };<BR>&gt; <BR>&gt; If you have access to ISDN testing equipment and would like to help test the <BR>&gt; non-EuroISDN variants of my upcoming ISDN implementation, please let me know.<BR>&gt; <BR>&gt; I expect to have something up and running within the next month, hopefully not <BR>&gt; running out of time this time :-)<BR>&gt; <BR>&gt; --HPS<BR>&gt; <BR>&gt; _______________________________________________<BR>&gt; Freeswitch-dev mailing list<BR>&gt; Freeswitch-dev@lists.freeswitch.org<BR>&gt; http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev<BR>&gt; UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev<BR>&gt; http://www.freeswitch.org<BR><BR><br /><hr />See all the ways you can stay connected <a href='http://www.microsoft.com/windows/windowslive/default.aspx' target='_new'>to friends and family</a></body>
</html>