[Freeswitch-dev] D-READ FAIL! [] while using openzap with libpri

Alex Green alexg at etherstack.com
Wed Jul 22 20:16:37 PDT 2009

On a number of occasions using openzap with libpri the D channel seems 
to some how lose synchronisation resulting in 'D-READ FAIL! []'.

On one side is a very standard Linux box with Freeswitch and a TE110p 
card. The signalling is set up to be a Network E1. On the other side of 
the PRI coax cable is a box I am experimenting with has openzap 
interacting with a small application of my own. This side is set up to 
be a CPE E1 (using a TE210p). This problem has happened to me previously 
using freeswtich/openzap but scouring the internet has found nought. I 
am concerned that I have done something silly, but I have double checked 
everything. The error is printed from lpwrap_pri.c line 117.

On freeswitch "D-READ FAIL! []" is just printed to screen over and over 
again. After issuing a shutdown the following clue is given after 
stopping mod_openzap:
2009-07-22 17:11:07 [INFO] zap_io.c:257 zap_channel_destroy() Closing 
channel zt:1:30 fd:67
2009-07-22 17:11:07 [INFO] zap_io.c:257 zap_channel_destroy() Closing 
channel zt:1:31 fd:68
Error = -1
Lpwrap Run Pri: : Bad file descriptor

On Openzap (without freeswitch) the following happens:
[CRIT] src/ozmod/ozmod_libpri/lpwrap_pri.c:122 __pri_lpwrap_read() span 
[ERROR] src/ozmod/ozmod_libpri/ozmod_libpri.c:88 s_pri_error() !! 
Received short I-frame (expected 4, got -3)
[DEBUG] src/ozmod/ozmod_libpri/ozmod_libpri.c:812 process_event() EVENT 
[DEBUG] src/ozmod/ozmod_libpri/ozmod_libpri.c:821 process_event() 
Changing state on 5:1 from PROGRESS_MEDIA to RESTART
[WARNING] src/ozmod/ozmod_libpri/ozmod_libpri.c:831 process_event() 
channel 5:1 (1:1) has alarms! [YELLOW/LOOP]
[DEBUG] src/ozmod/ozmod_libpri/ozmod_libpri.c:812 process_event() EVENT 
...The last two are printed repeatedly.

For some extra information I have summarised my setup below. Any help on 
this (surly I am not the first person to experience this!) is greatly 
appreciated. Many thanks, -alex

Box1 (Freeswitch Network E1) has 'span=1,1,0,ccs,hdb3'
Box2 (Openzap CPE E1) has 'span=1,0,0,ccs,hdb3'
I have experimented with crc4 on/off and timing of 1/2.

*openzap.conf* similar on both sides.
[span zt]
number => 1
trunk_type => e1
b-channel => 1-15,17-31
d-channel=> 16

Box1 (Freeswitch Network E1).
      <span id="1">
        <param name="node" value="network"/>
        <param name="switch" value="euroisdn"/>
        <param name="dialplan" value="XML"/>
        <param name="context" value="default"/>

Box2 (Openzap CPE) passes the following to libpri (via zap_configure_span);
    "node", "cpe",
    "switch", "euroisdn",
    "dp", "unknown",
    "l1", "alaw",

More information about the FreeSWITCH-dev mailing list