[Freeswitch-users] mod_openzap & PRI

Evgeniy Zolotov zolotov at altron.ua
Thu Sep 18 06:48:29 PDT 2008


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 at opos8.altron.lan> console loglevel 9
freeswitch at opos8.altron.lan> load mod_openzap
...
freeswitch at opos8.altron.lan> oz dump 1 16
API CALL [oz(dump 1 16)] output:
span_id: 1
chan_id: 16
physical_span_id: 1
physical_chan_id: 16
type: DQ921
state: UP
last_state: DOWN
cid_date:
cid_name:
cid_num:
ani:
aniII:
dnis:
rdnis:
cause: NONE


freeswitch at 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?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-users/attachments/20080918/6ff25561/attachment-0002.html 


More information about the FreeSWITCH-users mailing list