Leif Neland wrote:
But my problem comes when I speak on 0317998985 and someone calls on 985, the call
get to my celluar phone and ofc the other way around.

Is there a way to check if any extension is busy and in that case jump to VoiceMail(0317998...@inputinterior.se,b)?

If both phones were directly connected sip, it could be done.
The problem is that you can't determine if the cellular is busy before you call it.
...
The other option is to modify the source, and add an option to the dial-command, to exit if any extension dialled is busy.
After all, this is open source :-)

Leif

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++;
       }
       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");
               else if (num.congestion)
                   strcpy(pa->status, "CONGESTION");
               else if (num.nochan)
                   strcpy(pa->status, "CHANUNAVAIL");
           } else {
ast_verb(3, "No one is available to answer at this time (%d:%d/%d/%d)\n", numlines, num.busy, num.congestion, num.nochan);
           }
           *to = 0;
           return NULL;
       }

Preferably, either the dialcommand should be preceeded with a ChanIsAvail on the sip first, as there is no need to place a toll-call to the cell if the sip is busy. Or the dialcommand itself should have an option to delay one or more of the calls in the dialstring (Dial(Technology/resource[&Tech2/resource2...]). But this would probably be too messy...


Leif

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

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

Reply via email to