<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=Content-Type content="text/html; charset=koi8-r">
<META content="MSHTML 6.00.6000.20753" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial size=2>We have a lot of questions about mod_openzap &amp; 
PRI.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>1. If to see directory 
libs/openzap/src/isdn&nbsp;it is possible to see, there are defined 
</FONT></DIV>
<DIV><FONT face=Arial size=2>such dialects</FONT>&nbsp;:<FONT face=Arial size=2> 
Q931, national, EvroISDN, DMS, 5ESS.</FONT></DIV>
<DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial size=2>$ ls 
*.c<BR>5ESSmes.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;DMSStateNT.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
mfifo.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
Q921.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Q931mes.c<BR>5ESSStateNT.c&nbsp; 
DMSStateTE.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
nationalmes.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Q931api.c&nbsp;&nbsp; 
Q931StateNT.c<BR>5ESSStateTE.c&nbsp; EuroISDNStateNT.c&nbsp; 
nationalStateNT.c&nbsp; Q931.c&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; 
Q931StateTE.c<BR>DMSmes.c&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
EuroISDNStateTE.c&nbsp; nationalStateTE.c&nbsp; Q931ie.c&nbsp;&nbsp;&nbsp; 
Q932mes.c</FONT></DIV>
<DIV><FONT face=Arial size=2>&nbsp;</DIV>
<DIV>Into&nbsp;the file libs/openzap/src/isdn/include/Q931.h (line ~500) are 
defined only 4 dialects</DIV>
<DIV>&nbsp;</DIV>
<DIV>typedef 
enum&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
// Dialect enum<BR>{<BR>&nbsp;&nbsp; Q931_Dialect_Q931&nbsp;&nbsp;&nbsp;&nbsp; = 
0,<BR>&nbsp;&nbsp; Q931_Dialect_National = 2,<BR>&nbsp;&nbsp; 
Q931_Dialect_DMS&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; = 4,<BR>&nbsp;&nbsp; 
Q931_Dialect_5ESS&nbsp;&nbsp;&nbsp;&nbsp; = 6,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // 
Coming soon to a PRI stack near 
you!<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 
<BR>&nbsp;&nbsp; Q931_Dialect_Count<BR>} Q931Dialect_t;<BR>#define 
DIALECT_STRINGS "q931", "", "national", "", "dms", "", "5ess", ""</DIV>
<DIV>&nbsp;</DIV>
<DIV>Is it possible to add our own dialect PRI (for another submission of 
SUBBADDRESS, for example), if we'll add</DIV>
<DIV>new files *mess.c, *StateNT.c, *StateTE and definition * into the 
Q931Dialect_t ?</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>================================================================================</DIV>
<DIV>&nbsp;</DIV>
<DIV>2. We start zaptel :</DIV>
<DIV>&nbsp;</DIV>
<DIV># ls /dev/zap<BR>1&nbsp;&nbsp; 12&nbsp; 15&nbsp; 18&nbsp; 20&nbsp; 23&nbsp; 
26&nbsp; 29&nbsp; 31&nbsp; 34&nbsp; 37&nbsp; 4&nbsp;&nbsp; 42&nbsp; 45&nbsp; 
48&nbsp; 50&nbsp; 53&nbsp; 56&nbsp; 59&nbsp; 61&nbsp; 
8&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ctl<BR>10&nbsp; 13&nbsp; 16&nbsp; 
19&nbsp; 21&nbsp; 24&nbsp; 27&nbsp; 3&nbsp;&nbsp; 32&nbsp; 35&nbsp; 38&nbsp; 
40&nbsp; 43&nbsp; 46&nbsp; 49&nbsp; 51&nbsp; 54&nbsp; 57&nbsp; 6&nbsp;&nbsp; 
62&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; pseudo<BR>11&nbsp; 14&nbsp; 
17&nbsp; 2&nbsp;&nbsp; 22&nbsp; 25&nbsp; 28&nbsp; 30&nbsp; 33&nbsp; 36&nbsp; 
39&nbsp; 41&nbsp; 44&nbsp; 47&nbsp; 5&nbsp;&nbsp; 52&nbsp; 55&nbsp; 58&nbsp; 
60&nbsp; 7&nbsp;&nbsp; channel&nbsp; timer</DIV>
<DIV>&nbsp;</DIV>
<DIV>- zaptel is started and configured normally.</DIV>
<DIV>&nbsp;</DIV>
<DIV>Next load FreeSWITCH...</DIV>
<DIV>&nbsp;</DIV>
<DIV>We use such configuration file for mod_openzap :</DIV>
<DIV>&nbsp;</DIV>
<DIV>&lt;configuration name="openzap.conf" description="OpenZAP 
Configuration"&gt;<BR>&nbsp; &lt;settings&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;param 
name="debug" value="1"/&gt;<BR>&nbsp; &lt;/settings&gt;<BR>&nbsp; 
&lt;pri_spans&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;span id="1"&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="mode" value="user" 
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="dialect" value="dms" 
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="dialplan" 
value="XML"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="context" 
value="public" /&gt;&nbsp;&nbsp;&nbsp; <BR>&nbsp;&nbsp;&nbsp; 
&lt;/span&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;span id="2"&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="mode" value="user" 
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="dialect" value="q931" 
/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="dialplan" 
value="XML"/&gt;<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="context" 
value="public" /&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/span&gt;<BR>&nbsp; 
&lt;/pri_spans&gt;<BR>&lt;/configuration&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR>Next we&nbsp;start (from FreeSWITCH console):</DIV>
<DIV>&nbsp;</DIV>
<DIV><A 
href="mailto:freeswitch@opos8.altron.lan">freeswitch@opos8.altron.lan</A>&gt; 
console loglevel 9<BR><A 
href="mailto:freeswitch@opos8.altron.lan">freeswitch@opos8.altron.lan</A>&gt; 
load mod_openzap<BR>...<BR><A 
href="mailto:freeswitch@opos8.altron.lan">freeswitch@opos8.altron.lan</A>&gt; oz 
dump 1 16<BR>API CALL [oz(dump 1 16)] output:<BR>span_id: 1<BR>chan_id: 
16<BR>physical_span_id: 1<BR>physical_chan_id: 16<BR>type: DQ921<BR>state: 
UP<BR>last_state: 
DOWN<BR>cid_date:<BR>cid_name:<BR>cid_num:<BR>ani:<BR>aniII:<BR>dnis:<BR>rdnis:<BR>cause: 
NONE</DIV>
<DIV>&nbsp;</DIV>
<DIV><BR><A 
href="mailto:freeswitch@opos8.altron.lan">freeswitch@opos8.altron.lan</A>&gt; oz 
dump 2 16<BR>API CALL [oz(dump 2 16)] output:<BR>span_id: 2<BR>chan_id: 
16<BR>physical_span_id: 2<BR>physical_chan_id: 47<BR>type: DQ921<BR>state: 
UP%!<BR>last_state: 
DOWN<BR>cid_date:<BR>cid_name:<BR>cid_num:<BR>ani:<BR>aniII:<BR>dnis:<BR>rdnis:<BR>cause: 
NONE</DIV>
<DIV>&nbsp;</DIV>
<DIV>In what manner ( using console or debugging messages ) we can see in 
run-time mode under what type of a dialect</DIV>
<DIV>every "span" is configured ?</DIV>
<DIV>&nbsp;</DIV>
<DIV>If we'll specify for nonexistent dialects:</DIV>
<DIV>&nbsp;</DIV>
<DIV>&nbsp; &lt;pri_spans&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;span id="1"&gt; 
<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="dialect" value="ABC" 
/&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/span&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;span 
id="2"&gt; <BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param name="dialect" 
value="XYZ" /&gt;<BR>&nbsp;&nbsp;&nbsp; &lt;/span&gt;<BR>&nbsp; 
&lt;/pri_spans&gt;</DIV>
<DIV>&nbsp;</DIV>
<DIV>- then &gt;load mod_openzap is&nbsp;carried out successfully and &gt;oz 
dump &lt;i&gt; &lt;j&gt; gives us same result like before.</DIV>
<DIV>&nbsp;</DIV>
<DIV>What dialect is used by "span" in this case? How it can be 
looked?</DIV></FONT></BODY></HTML>