Optical Phoenix
2013-Mar-06  01:56 UTC
[asterisk-users] Change RX Signalling Bits in Dahdi drivers
Greeting,
I am trying to setup PLAR signalling in asterisk. I have modified the FXSLS
TX bits in dahdi-base.c on line 2580, and I can make calls.
.sig_type = DAHDI_SIG_FXSLS,
.bits[DAHDI_TXSIG_ONHOOK]  = DAHDI_BITS_ABCD, /*changed by  for PLAR*/
.bits[DAHDI_TXSIG_OFFHOOK] = (0), /*changed by  for PLAR*/
.bits[DAHDI_TXSIG_START]   = DAHDI_BITS_ABCD, /*changed by for PLAR*/
When I got to change the rx, its a bit more complex. I have learned from
this list that dahdi_rbsbits() handles the rx bits, but my changes seem to
have no effect. Does anyone have a good understanding of this function? I
would appreciate any help you can provide.
case DAHDI_SIG_FXSLS:
if (!(cursig & DAHDI_BBIT)) {      /*Dennis RINGING  */  /*<----- I think
this is checking if the state is different from a set value? needs
clarification*/
/* Check for ringing first */
__dahdi_hooksig_pvt(chan, DAHDI_RXSIG_RING);
break;
}
if ((chan->sig != DAHDI_SIG_FXSLS) && (cursig & DAHDI_ABIT)) { 
/*<------
Why is it checking DAHDI_SIG_FXSLS? do I need to modify this to be 1111
also?*/
    /* if went on hook */
__dahdi_hooksig_pvt(chan, DAHDI_RXSIG_ONHOOK);  /*<----------I think this
is passing it to a function that reacts to the signal in this case the
onhook signal?*/
} else {
__dahdi_hooksig_pvt(chan, DAHDI_RXSIG_OFFHOOK);  /* <------ same here but
with the off hook? */
}
break;
   case DAHDI_SIG_CAS:
/* send event that something changed */
__qevent(chan, DAHDI_EVENT_BITSCHANGED);
break;
Thanks
Dennis
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.digium.com/pipermail/asterisk-users/attachments/20130305/8fae585b/attachment.htm>
Justin Killen
2013-Mar-06  16:24 UTC
[asterisk-users] Change RX Signalling Bits in Dahdi drivers
You'd probably be better off sending this to the dev list (asterisk-dev)
Justin Killen
From: asterisk-users-bounces at lists.digium.com [mailto:asterisk-users-bounces
at lists.digium.com] On Behalf Of Optical Phoenix
Sent: Tuesday, March 05, 2013 5:56 PM
To: asterisk-users at lists.digium.com
Subject: [asterisk-users] Change RX Signalling Bits in Dahdi drivers
Greeting,
I am trying to setup PLAR signalling in asterisk. I have modified the FXSLS TX
bits in dahdi-base.c on line 2580, and I can make calls.
                                    .sig_type = DAHDI_SIG_FXSLS,
                                    .bits[DAHDI_TXSIG_ONHOOK]  =
DAHDI_BITS_ABCD, /*changed by  for PLAR*/
                                    .bits[DAHDI_TXSIG_OFFHOOK] = (0), /*changed
by  for PLAR*/
                                    .bits[DAHDI_TXSIG_START]   =
DAHDI_BITS_ABCD, /*changed by for PLAR*/
When I got to change the rx, its a bit more complex. I have learned from this
list that dahdi_rbsbits() handles the rx bits, but my changes seem to have no
effect. Does anyone have a good understanding of this function? I would
appreciate any help you can provide.
case DAHDI_SIG_FXSLS:
                        if (!(cursig & DAHDI_BBIT)) {      /*Dennis RINGING 
*/  /*<----- I think this is checking if the state is different from a set
value? needs clarification*/
                                    /* Check for ringing first */
                                    __dahdi_hooksig_pvt(chan, DAHDI_RXSIG_RING);
                                    break;
                        }
                        if ((chan->sig != DAHDI_SIG_FXSLS) && (cursig
& DAHDI_ABIT)) {  /*<------ Why is it checking DAHDI_SIG_FXSLS? do I need
to modify this to be 1111 also?*/
                                       /* if went on hook */
                                    __dahdi_hooksig_pvt(chan,
DAHDI_RXSIG_ONHOOK);  /*<----------I think this is passing it to a function
that reacts to the signal in this case the onhook signal?*/
                        } else {
                                    __dahdi_hooksig_pvt(chan,
DAHDI_RXSIG_OFFHOOK);  /* <------ same here but with the off hook? */
                        }
                        break;
              case DAHDI_SIG_CAS:
                        /* send event that something changed */
                        __qevent(chan, DAHDI_EVENT_BITSCHANGED);
                        break;
Thanks
Dennis
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://lists.digium.com/pipermail/asterisk-users/attachments/20130306/1fad42ab/attachment.htm>
Optical Phoenix
2013-Mar-06  16:33 UTC
[asterisk-users] Change RX Signalling Bits in Dahdi drivers
Thanks, will do On Wed, Mar 6, 2013 at 11:24 AM, Justin Killen < jkillen at allamericanasphalt.com> wrote:> You?d probably be better off sending this to the dev list (asterisk-dev)* > *** > > ** ** > > Justin Killen**** > > ** ** > > *From:* asterisk-users-bounces at lists.digium.com [mailto: > asterisk-users-bounces at lists.digium.com] *On Behalf Of *Optical Phoenix > *Sent:* Tuesday, March 05, 2013 5:56 PM > *To:* asterisk-users at lists.digium.com > *Subject:* [asterisk-users] Change RX Signalling Bits in Dahdi drivers**** > > ** ** > > Greeting,**** > > I am trying to setup PLAR signalling in asterisk. I have modified the > FXSLS TX bits in dahdi-base.c on line 2580, and I can make calls.**** > > ** ** > > .sig_type = DAHDI_SIG_FXSLS,**** > > .bits[DAHDI_TXSIG_ONHOOK] > DAHDI_BITS_ABCD, /*changed by for PLAR*/**** > > .bits[DAHDI_TXSIG_OFFHOOK] = (0), > /*changed by for PLAR*/**** > > .bits[DAHDI_TXSIG_START] > DAHDI_BITS_ABCD, /*changed by for PLAR*/**** > > ** ** > > When I got to change the rx, its a bit more complex. I have learned from > this list that dahdi_rbsbits() handles the rx bits, but my changes seem to > have no effect. Does anyone have a good understanding of this function? I > would appreciate any help you can provide.**** > > ** ** > > ** ** > > case DAHDI_SIG_FXSLS:**** > > if (!(cursig & DAHDI_BBIT)) { /*Dennis > RINGING */ /*<----- I think this is checking if the state is different > from a set value? needs clarification*/**** > > /* Check for ringing first */**** > > __dahdi_hooksig_pvt(chan, > DAHDI_RXSIG_RING);**** > > break;**** > > }**** > > if ((chan->sig != DAHDI_SIG_FXSLS) && (cursig & > DAHDI_ABIT)) { /*<------ Why is it checking DAHDI_SIG_FXSLS? do I need to > modify this to be 1111 also?*/**** > > /* if went on hook */**** > > __dahdi_hooksig_pvt(chan, > DAHDI_RXSIG_ONHOOK); /*<----------I think this is passing it to a function > that reacts to the signal in this case the onhook signal?*/**** > > } else {**** > > __dahdi_hooksig_pvt(chan, > DAHDI_RXSIG_OFFHOOK); /* <------ same here but with the off hook? */**** > > }**** > > break;**** > > case DAHDI_SIG_CAS:**** > > /* send event that something changed */**** > > __qevent(chan, DAHDI_EVENT_BITSCHANGED);**** > > break;**** > > ** ** > > Thanks**** > > Dennis**** > > -- > _____________________________________________________________________ > -- Bandwidth and Colocation Provided by http://www.api-digital.com -- > New to Asterisk? Join us for a live introductory webinar every Thurs: > http://www.asterisk.org/hello > > asterisk-users mailing list > To UNSUBSCRIBE or update options visit: > http://lists.digium.com/mailman/listinfo/asterisk-users >-------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.digium.com/pipermail/asterisk-users/attachments/20130306/2e5185f8/attachment.htm>