Author: tzafrir
Date: Sat Jul 28 20:40:37 2007
New Revision: 2799

URL: http://svn.digium.com/view/zaptel?view=rev&rev=2799
Log:
* Extend wctdm_type.diff from #9496 to wctdm24xxp as well.
* Adapt genzaptelconf accordingly.

Modified:
    team/tzafrir/patches/wctdm.c
    team/tzafrir/patches/wctdm24xxp/base.c
    team/tzafrir/patches/xpp/utils/genzaptelconf

Modified: team/tzafrir/patches/wctdm.c
URL: 
http://svn.digium.com/view/zaptel/team/tzafrir/patches/wctdm.c?view=diff&rev=2799&r1=2798&r2=2799
==============================================================================
--- team/tzafrir/patches/wctdm.c (original)
+++ team/tzafrir/patches/wctdm.c Sat Jul 28 20:40:37 2007
@@ -2017,6 +2017,18 @@
        return 0;
 }
 
+/** Set the name for the card
+ * @param chan the channel struct. Should have pvt and chan_pos set.
+ * @param type a label of the type of port (FXS, FXO or empty). It is intended
+ *   to be human readable, and hence use FXS for an FXS module.
+ */
+static void wctdm_set_chan_name(struct zt_chan *chan, const char *type) {
+       struct wctdm *span = (struct wctdm*)chan->pvt;
+
+       sprintf(chan->name, "WCTDM/%d/%d:%s", span->pos, 
+                       chan->chanpos - 1, type);
+}
+
 static int wctdm_initialize(struct wctdm *wc)
 {
        int x;
@@ -2030,11 +2042,11 @@
        } else
                wc->span.deflaw = ZT_LAW_MULAW;
        for (x = 0; x < NUM_CARDS; x++) {
-               sprintf(wc->chans[x].name, "WCTDM/%d/%d", wc->pos, x);
                wc->chans[x].sigcap = ZT_SIG_FXOKS | ZT_SIG_FXOLS | 
ZT_SIG_FXOGS | ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR;
                wc->chans[x].sigcap |= ZT_SIG_FXSKS | ZT_SIG_FXSLS | ZT_SIG_SF 
| ZT_SIG_CLEAR;
                wc->chans[x].chanpos = x+1;
                wc->chans[x].pvt = wc;
+               wctdm_set_chan_name(&wc->chans[x], "empty");
        }
        wc->span.chans = wc->chans;
        wc->span.channels = NUM_CARDS;
@@ -2060,10 +2072,13 @@
        /* Finalize signalling  */
        for (x = 0; x < NUM_CARDS; x++) {
                if (wc->cardflag & (1 << x)) {
-                       if (wc->modtype[x] == MOD_TYPE_FXO)
+                       if (wc->modtype[x] == MOD_TYPE_FXO) {
                                wc->chans[x].sigcap = ZT_SIG_FXSKS | 
ZT_SIG_FXSLS | ZT_SIG_SF | ZT_SIG_CLEAR;
-                       else
+                               wctdm_set_chan_name(&wc->chans[x], "FXO");
+                       } else {
                                wc->chans[x].sigcap = ZT_SIG_FXOKS | 
ZT_SIG_FXOLS | ZT_SIG_FXOGS | ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR;
+                               wctdm_set_chan_name(&wc->chans[x], "FXS");
+                       }
                }
        }
 }

Modified: team/tzafrir/patches/wctdm24xxp/base.c
URL: 
http://svn.digium.com/view/zaptel/team/tzafrir/patches/wctdm24xxp/base.c?view=diff&rev=2799&r1=2798&r2=2799
==============================================================================
--- team/tzafrir/patches/wctdm24xxp/base.c (original)
+++ team/tzafrir/patches/wctdm24xxp/base.c Sat Jul 28 20:40:37 2007
@@ -2983,6 +2983,18 @@
        return 0;
 }
 
+/** Set the name for the card
+ * @param chan the channel struct. Should have pvt and chan_pos set.
+ * @param type a label of the type of port (FXS, FXO or empty). It is intended
+ *   to be human readable, and hence use FXS for an FXS module.
+ */
+static void wctdm_set_chan_name(struct zt_chan *chan, const char *type) {
+       struct wctdm *span = (struct wctdm*)chan->pvt;
+
+       sprintf(chan->name, "WCTDM/%d/%d:%s", span->pos, 
+                       chan->chanpos - 1, type);
+}
+
 static int wctdm_initialize(struct wctdm *wc)
 {
        int x;
@@ -2996,7 +3008,7 @@
        } else
                wc->span.deflaw = ZT_LAW_MULAW;
        for (x=0;x<wc->cards;x++) {
-               sprintf(wc->chans[x].name, "WCTDM/%d/%d", wc->pos, x);
+               wctdm_set_chan_name(&wc->chans[x], "empty");
                wc->chans[x].sigcap = ZT_SIG_FXOKS | ZT_SIG_FXOLS | 
ZT_SIG_FXOGS | ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR;
                wc->chans[x].sigcap |= ZT_SIG_FXSKS | ZT_SIG_FXSLS | ZT_SIG_SF 
| ZT_SIG_CLEAR;
                wc->chans[x].chanpos = x+1;
@@ -3030,12 +3042,16 @@
        /* Finalize signalling  */
        for (x=0;x<wc->cards;x++) {
                if (wc->cardflag & (1 << x)) {
-                       if (wc->modtype[x] == MOD_TYPE_FXO)
+                       if (wc->modtype[x] == MOD_TYPE_FXO) {
                                wc->chans[x].sigcap = ZT_SIG_FXSKS | 
ZT_SIG_FXSLS | ZT_SIG_SF | ZT_SIG_CLEAR;
-                       else if (wc->modtype[x] == MOD_TYPE_FXS)
+                               wctdm_set_chan_name(&wc->chans[x], "FXO");
+                       } else if (wc->modtype[x] == MOD_TYPE_FXS) { 
                                wc->chans[x].sigcap = ZT_SIG_FXOKS | 
ZT_SIG_FXOLS | ZT_SIG_FXOGS | ZT_SIG_SF | ZT_SIG_EM | ZT_SIG_CLEAR;
-                       else if (wc->modtype[x] == MOD_TYPE_QRV)
+                               wctdm_set_chan_name(&wc->chans[x], "FXO");
+                       } else if (wc->modtype[x] == MOD_TYPE_QRV) {
                                wc->chans[x].sigcap = ZT_SIG_SF | ZT_SIG_EM | 
ZT_SIG_CLEAR;
+                               wctdm_set_chan_name(&wc->chans[x], "QRV");
+                       }
                }
        }
 }

Modified: team/tzafrir/patches/xpp/utils/genzaptelconf
URL: 
http://svn.digium.com/view/zaptel/team/tzafrir/patches/xpp/utils/genzaptelconf?view=diff&rev=2799&r1=2798&r2=2799
==============================================================================
--- team/tzafrir/patches/xpp/utils/genzaptelconf (original)
+++ team/tzafrir/patches/xpp/utils/genzaptelconf Sat Jul 28 20:40:37 2007
@@ -948,6 +948,17 @@
                        # in case this is a real channel. 
                        chan_num=`echo $line |awk '{print $1}'`
                        case "$line" in
+                       *WCTDM/*/*:FXS) print_pattern $chan_num fxo $mode ;;
+                       *WCTDM/*/*:FXO) print_pattern $chan_num fxs $mode ;;
+                       *WCTDM/*/*:empty) : ;;
+                       *WCTDM/*/*:QVR) # What is that??
+                               case "$mode" in
+                               list) echo "# ??: $line";;
+                               files)
+                                       echo "# ??: $line" >>$zaptel_file
+                                       echo "; ??: $line" >>$zapata_file
+                               esac
+                                ;;
                        *WCTDM/*|*\ WRTDM/*|*OPVXA1200/*) 
                                # TDM400P/2400P and similar cards (Sangoma 
A200, OpenVox A1200)
                                # this can be either FXS or FXO


_______________________________________________
--Bandwidth and Colocation Provided by http://www.api-digital.com--

svn-commits mailing list
To UNSUBSCRIBE or update options visit:
   http://lists.digium.com/mailman/listinfo/svn-commits

Reply via email to