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