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?