[Freeswitch-dev] Openzap and intermitent ringing

Moises Silva moises.silva at gmail.com
Tue Jan 19 12:00:14 PST 2010

Hello François,

On Tue, Jan 19, 2010 at 2:09 PM, <devel at thom.fr.eu.org> wrote:

>  So I finally could find a fix.
> Then problem is the ring_on and ring_off length as defined by wp_globals in
> ozmod_wanpipe.c
> For France (and I guess all other European countries), the ring on and off
> length shall be 1700ms and 3300ms.
> That correspond (at least for Europe) to the length of the ringing tone.
> So I was wondering I it would not be a good idea to take these values from
> the tones.conf file.
> I just committed the fix to configure ring on / off from the configuration
file (wanpipe.conf), given that these values are wanpipe specific. There are
other wp global values already taken from the configuration, see
wanpipe_init() in the same file.

> Could anybody indicate if there is any diagram of how each module in
> openzap calls the other, then that could be a good starting point (I don’t
> really get the interactions/calls between ozmod_wanpipe.c and
> ozmod_analog.c).
This diagram is all we have AFAIK:


OpenZAP ( which is being renamed to FreeTDM as we speak) provides
abstraction to both signaling and board I/O APIs. In short, you have
therefore 2 type of modules, signaling and I/O modules.

I/O modules are the low level modules that use the driver-specific API to
talk to the board, either Sangoma, PIKA or Zaptel-based boards. Therefore,
the use can execute I/O commands using openzap API and does not have to care
about which type of board is talking to. For example, ozmod_analog does
this: zap_channel_command(zchan, ZAP_COMMAND_GENERATE_RING_ON), the openzap
core will then check which type of I/O module is associated to the channel
(wanpipe, zt, pika etc) and ask the IO module to execute the command using
the specific API for the board.

The signaling module is supposed to abstract the telephony signaling (PRI,
R2, FXO/FXS, SS7 etc). So, if a user wants to place a call, regardless of
the signaling, it will only issue zap_channel_open() and then
zap_channel_outgoing_call() which will take care of checking which signaling
module is associated to the span where that channel belongs and ask the
signaling module to place the call.

There are some I/O features that may not be available in some drivers (like
flash in wanpipe) and are therefore emulated by the software layer of the
I/O wanpipe module.

Moises Silva
Senior Software Engineer
Sangoma Technologies Inc. | 50 McIntosh Drive, Suite 120, Markham ON L3R 9T3
t. 1 905 474 1990 x 128 | e. moy at sangoma.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.freeswitch.org/pipermail/freeswitch-dev/attachments/20100119/2933d717/attachment.html 

More information about the FreeSWITCH-dev mailing list