<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:o = 
"urn:schemas-microsoft-com:office:office" xmlns:w = 
"urn:schemas-microsoft-com:office:word"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=us-ascii">
<META content="MSHTML 6.00.2800.1597" name=GENERATOR>
<STYLE>@page Section1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline
}
SPAN.EmailStyle17 {
        COLOR: windowtext; FONT-FAMILY: Arial; mso-style-type: personal-compose
}
DIV.Section1 {
        page: Section1
}
</STYLE>
</HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left><SPAN class=534121502-04102007><FONT face=Arial 
color=#0000ff size=2>Did you configure the span as PRI or RobBit? If your span 
is PRI, is your channel 0&nbsp;the D-Channel? If RobBit, (anyone correct me it I 
am wrong) the zaptel driver inserts controlling bits into the data frames. If I 
am not mistaken, the 6th and 12th frame. That means, you might have a hard time 
send and receiving pure data across those channels.</FONT></SPAN></DIV><BR>
<DIV class=OutlookMessageHeader lang=en-us dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>From:</B> asterisk-dev-bounces@lists.digium.com 
[mailto:asterisk-dev-bounces@lists.digium.com] <B>On Behalf Of </B>Doug 
Ehlers<BR><B>Sent:</B> Wednesday, October 03, 2007 8:26 PM<BR><B>To:</B> 
asterisk-dev@lists.digium.com<BR><B>Subject:</B> [asterisk-dev] Zaptel 
Programming<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=Section1>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Hello 
all,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I hope this is the right place to 
post this message, I didn&#8217;t see just a list for Zaptel 
programming.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I am working on a project using a 
Digium 405 T1 card.&nbsp; I am trying to write an application to talk via the T1 
interface to another piece of equipment.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Very simply, I have set the line 
configs in zaptel.conf and then run ztcfg to activate 
them.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">In my C++ program, I open the data 
channel -&gt; fd=open(&#8220;/dev/zap/1&#8221;,O_RDWR).&nbsp; This application is very 
similar to a PRI line in that one DS0 functions as a control channel with a 
pseudo HDLC communications type link and the other 23 channels get dynamically 
assigned usage based on incoming and outgoing calls.&nbsp; Each DS0 is setup to 
be CLEAR mode, no signaling.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">After opening the device, I check 
the buffers and change them to some smaller sizes, make them act immediate, 
etc.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">I am able to write my message and 
see the opposite system get it and acknowledge it with a message back -&gt; 
write(fd, buffer, length)<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">The problem is in getting the data 
back.&nbsp; I have just a simple read loop setup to read the data from the 
buffers that I believe were setup after the device was opened.&nbsp; This is 
being done with a simple read(fd, buffer, length) kind of command.&nbsp; I 
assume with enough buffers, I should be able to read the data rapidly enough to 
not lose anything.&nbsp; I always get something back buy 1 in 5 times its 
actually correct (when no traffic is present, the opposite side is sending 0xFF 
always so its pretty easy to know when there is data coming).&nbsp; Most of the 
time the received data bares a resemblance to the message that was sent, but 
certainly isn&#8217;t it.&nbsp; Occasionally the reply message is exactly correct and 
all is well.&nbsp; Its almost like the bit alignment is off or 
something.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Is there something I should be doing 
differently to reliably read data back from a channel like this?&nbsp; My next 
step will be to deal with the audio channels and the mechanism will be 
similar.&nbsp; I have looked at a number of example applications such as 
fxotune.c and spent some time in chan_zap.c trying to discern the correct way to 
read data, but haven&#8217;t yet turned anything up.&nbsp; There are quite a few 
options to the zaptel API and I haven&#8217;t yet located a good document explaining 
how to work with it at the level I need.<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Can anybody give me some pointers or 
point me toward other information and resources?<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial"><o:p>&nbsp;</o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Many 
thanks,<o:p></o:p></SPAN></FONT></P>
<P class=MsoNormal><FONT face=Arial size=2><SPAN 
style="FONT-SIZE: 10pt; FONT-FAMILY: Arial">Doug<o:p></o:p></SPAN></FONT></P></DIV></BODY></HTML>