[Asterisk-Dev] Aastra PT390 ADSI Issues (w/ Patch)

Jayson Vantuyl kagato at souja.net
Thu May 22 12:48:54 MST 2003


I wasn't sure if I should be posting this to asterisk-users or
asterisk-dev, but I'm posting here because I'm including a patch.

My Aastra PT390 almost handles VoiceMail2, but there are some issues.

First, it seems spotty as to when it decides to download the script.
What criteria does the server use to decide to upload it or not?  Would
it be possible to get options to VoiceMail2 to either not upload new
scripts or force an upload (so I can schedule it or manage it in the DB)?

Second, after the Password: prompt is displayed, it never enters
voicemode for me to be able to enter the password.  It does the same
thing on most of the menus.  The only way to get out is to hang up.  I'm
pretty sure this is a phone thing.  I can fix it if I include an opcode
to set voicemode at the end of the adsi code.  See the patch.  I'm not
sure if the spec says that an ADSI phone is supposed to drop back to
voice mode or not after the code has been executed (I don't have the
spec).  Can you test this to see how it interacts with other ADSI phones
(say Telcordias)?  If it does work, applying it would put me one step
closer to deployment (I'm waiting until VoiceMail2 is ready).

Also, it appears Options and Advanced freeze my phone (require a hangup
to fix) when I press them.  Strangely, it appears that * is playing the
files, but I never hear anything.

Another note, the Aastra phones seem to be a bit slow coming back from
mute during ADSI.  This tends to cut off the first bit of the prompts.
Can we get some setting to add a very small delay after ADSI
(adsi_recovery_delay in channels.conf?)?

Finally, right now, messages in VoiceMail2 don't trigger the MWI.  I'm
sure you know this, but I thought I'd point it out.

I look forward to working ADSI goodness.  I'm generally capable of
implementing the above, but I didn't want to do so if my patches
wouldn't be accepted or only helped my buggy phones.

Sincerely,

Jayson

P.S.  I hereby assign any copyright on the code herein to Digium on the
condition that it ultimately be incorporated into the GPL'd releask of
Asterisk.

--PATCH ENSUES--
***************
*** 1388,1391 ****
--- 1388,1392 ----
        bytes += adsi_input_control(buf + bytes, ADSI_COMM_PAGE, 4, 0, 1, ADSI_JUST_LEFT);
        bytes += adsi_set_keys(buf + bytes, keys);
+       bytes += adsi_voice_mode(buf + bytes, 0);
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);
  }
***************
*** 1415,1418 ****
--- 1416,1421 ----
        bytes += adsi_set_line(buf + bytes, ADSI_COMM_PAGE, 1);
        bytes += adsi_set_keys(buf + bytes, keys);
+       bytes += adsi_voice_mode(buf + bytes, 0);
+
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);
  }
***************
*** 1501,1504 ****
--- 1504,1509 ----
        bytes += adsi_set_line(buf + bytes, ADSI_COMM_PAGE, 1);
        bytes += adsi_set_keys(buf + bytes, keys);
+       bytes += adsi_voice_mode(buf + bytes, 0);
+
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);
  }
***************
*** 1544,1547 ****
--- 1549,1554 ----
        keys[5] = ADSI_KEY_SKT | (ADSI_KEY_APPS + 5);
        bytes += adsi_set_keys(buf + bytes, keys);
+       bytes += adsi_voice_mode(buf + bytes, 0);
+
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);
  }
***************
*** 1587,1590 ****
--- 1594,1599 ----
        bytes += adsi_set_keys(buf + bytes, keys);

+       bytes += adsi_voice_mode(buf + bytes, 0);
+
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);
  }
***************
*** 1625,1628 ****
--- 1634,1639 ----
        bytes += adsi_set_keys(buf + bytes, keys);

+       bytes += adsi_voice_mode(buf + bytes, 0);
+
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);

***************
*** 1636,1639 ****
--- 1647,1652 ----
                return;
        bytes += adsi_set_line(buf + bytes, ADSI_COMM_PAGE, 1);
+       bytes += adsi_voice_mode(buf + bytes, 0);
+
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);
  }
***************
*** 1650,1653 ****
--- 1663,1668 ----
        bytes += adsi_display(buf + bytes, ADSI_COMM_PAGE, 4, ADSI_JUST_CENT, 0, "Goodbye", "");
        bytes += adsi_set_line(buf + bytes, ADSI_COMM_PAGE, 1);
+       bytes += adsi_voice_mode(buf + bytes, 0);
+
        adsi_transmit_message(chan, buf, bytes, ADSI_MSG_DISPLAY);
  }




More information about the asterisk-dev mailing list