[asterisk-users] ((uint64_t)1 << 35) is zero! was: Prevent Dial if any extension is busy

Leif Neland leifn at neland.dk
Mon Nov 30 07:58:18 CST 2009


Leif Neland wrote:
>>
> I think a modification should be done around here to return busy if 
> just one channel was busy (only enabled if an option on dial is set)
> in asterisk-1.6.0.15/apps/app_dial.c, line 610
>
> Is somebody willing to try?
>
> while (*to && !peer) {
>         struct chanlist *o;
>         int pos = 0; /* how many channels do we handle */
>         int numlines = prestart;
>         struct ast_channel *winner;
>         struct ast_channel *watchers[AST_MAX_WATCHERS];
>
>         watchers[pos++] = in;
>         for (o = outgoing; o; o = o->next) {
>             /* Keep track of important channels */
>             if (ast_test_flag64(o, DIAL_STILLGOING) && o->chan)
>                 watchers[pos++] = o->chan;
>             numlines++;
>         }
Adding this here
   if (num.busy) {
            strcpy(pa->status, "BUSY");
            *to = 0;
            return NULL;
        }
Seems to work
>         if (pos == 1) { /* only the input channel is available */
>             if (numlines == (num.busy + num.congestion + num.nochan)) {
>                 ast_verb(2, "Everyone is busy/congested at this time 
> (%d:%d/%d/%d)\n", numlines, num.busy, num.congestion, num.nochan);
>                 if (num.busy)
>                     strcpy(pa->status, "BUSY");

However, I tried adding an option OPT_SINGLE_BUSY after these:

#define DIAL_STILLGOING      (1 << 31)
#define DIAL_NOFORWARDHTML   ((uint64_t)1 << 32) /* flags are now 64 
bits, so keep it up! */
#define OPT_CANCEL_ELSEWHERE ((uint64_t)1 << 33)
#define OPT_PEER_H           ((uint64_t)1 << 34)
#define OPT_SINGLE_BUSY      ((uint64_t)1 << 35)

but all these constants have the value zero!

I'm compiling on FreeBSD, asterisk seems to work anyway...

Whats going on?

Leif

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.digium.com/pipermail/asterisk-users/attachments/20091130/ae5cf170/attachment.htm 


More information about the asterisk-users mailing list