ZyXEL ISDN analog / digital
Marc SCHAEFER (schaefer@alphanet.ch)
14 Apr 1999 1916:16:02 +0200
Thorbjoern List <list@list.dk> wrote:
> But if I dial in using DIGITAL (atdixxxx) it answers the phone and
> tries to send voice commands, which the ISDN part of the modem does
> not understand - and then hangs up due to an erroneous response from
> the modem.
This is fixed in mgetty-1.1.20 + the global patch available
at http://www-internal.alphanet.ch/~schaefer/vgetty/global_patches/10021999/
> I am subscribing to multiple numbers and am using version 1.1.20 from
> January 99. This version states that support for MSN will be built in
> as distinctive ring types, but this does not help me now...
There is help in mvm for how to do this. You can only do this the mvm's
way with the global patches above.
NB: for multiple number support you also need the ZyXEL multi-MSN
firmware.
Excerpt from mvm's documentation:
5.2 Enhanced modes
5.2.1 Multi-MSN discrimination and multiple mvm instances
mvm can be configured to recognize the called (not caller) ID and
launch a different instance. Basically, we set the mvm root directory.
This can be used to implement different independant voice mails, or
special functions such as an automatic answerer. This was only tested
with ISDN, however, and with the ZyXEL 2864I. Please refer to
the ZyXEL 2864I documentation for how to enable multi-MSN mode.
For this to work, as of current versions, you need mgetty-1.1.20
(released in january 1999), plus the vgetty specific patches
you will found at
http://www-internal.alphanet.ch/~schaefer/vgetty/global_patches/10021999/
Please look first at http://www-internal.alphanet.ch/~schaefer/vgetty.html
for the latest vgetty news.
With this patch installed, you will be able to use, for example, the
following cnd_program (use cnd-program /usr/lib/mgetty/filter_msn.sh
and msn-list 8414081 8414037 8414013 8414014, assuming those are
the numbers that calle_d_ it returns).
---- cut
#! /bin/sh
# very simple MSN filtering (BOOLEAN)
# NOTES
# - Arguments
# <program> <tty> <CallerID> <Name> <dist-ring-nr.> <Called Nr.>
CND_SCRIPT_ACCEPT_CALL=0
CND_SCRIPT_IGNORE_CALL=257
CND_SCRIPT_REJECT_CALL=258
CND_SCRIPT_MORE_RINGS_NEEDED=259
CND_SCRIPT_LET_IT_RING=260
if [ $# != 5 ]; then
exit $CND_SCRIPT_REJECT_CALL
fi
case $4 in
1) exit $CND_SCRIPT_ACCEPT_CALL;;
# 8414081, accept fax/modem (and also X.75)
2) exit $CND_SCRIPT_ACCEPT_CALL;;
# 8414037, accept X.75 (and also fax/modem).
3) exit $CND_SCRIPT_ACCEPT_CALL;;
# 8414013
# 4) if [ $RING_COUNT -lt 5 ]; then
# exit $CND_SCRIPT_MORE_RINGS_NEEDED
# else
# exit $CND_SCRIPT_ACCEPT_CALL
# fi;;
# # 8414014
esac
exit $CND_SCRIPT_IGNORE_CALL
---- cut
Now, when the calls happens, vgetty will run and will launch the
voice script (call_program /usr/lib/mgetty/mvm_discriminate.sh)
which is were we do the mvm instanciation (and also go modem/fax
or voice).
---- cut
#! /bin/sh
case $CALLED_ID in
8414013) exec /usr/lib/mgetty/mvm_vgetty_script.sh;;
8414037) export MVM_INSTANCE=8414037
export SELECTED_LANGUAGE=NO_ASK
exec /usr/lib/mgetty/mvm_vgetty_script.sh;;
esac
exit 3
---- cut
This will launch modem/fax on any other number than 8414013 and
8414037. 8414013 will launch a standard mvm, and 8414037 will launch
a special version of mvm with no language asking. Moreover,
the files will be in /usr/spool/voice/instances/8414037/ instead
of being in /usr/spool/voice. To implement a simple
answering machine, create a /usr/spool/voice/instances/8414037/
hierarchy with:
total 4
drwxr-xr-x 4 root root 1024 Dec 29 11:59 .
drwxr-xr-x 3 root root 1024 Dec 29 11:56 ..
lrwxrwxrwx 1 root root 11 Dec 29 11:56 areas -> ../../areas
lrwxrwxrwx 1 root root 14 Dec 29 11:57 incoming -> ../../incoming
lrwxrwxrwx 1 root root 15 Dec 29 11:56 mailboxes -> ../../mailboxes
drwxr-xr-x 2 root root 1024 Dec 29 11:58 main
lrwxrwxrwx 1 root root 22 Dec 29 11:56 menu_items_types -> ../../menu_items_types
drwxr-xr-x 2 root root 1024 Dec 29 12:05 messages
lrwxrwxrwx 1 root root 13 Dec 29 11:56 scripts -> ../../scripts
So, basically, just messages and main are NOT common.
vulcan:/usr/spool/voice/instances/8414037 # ls -la messages
total 22
drwxr-xr-x 2 root root 1024 Dec 29 12:05 .
drwxr-xr-x 4 root root 1024 Dec 29 11:59 ..
lrwxrwxrwx 1 root root 33 Dec 29 12:04 leave_message -> ../../../messages/leave_message.1
lrwxrwxrwx 1 root root 33 Dec 29 11:59 leave_message.1 -> ../../../messages/leave_message.1
-rw-r--r-- 1 root root 19163 Dec 29 12:05 welcome_here
Basically we have an introduction file (welcome_here), and the standard
``leave a message after the beep'' message.
vulcan:/usr/spool/voice/instances/8414037 # ls -la main
total 3
drwxr-xr-x 2 root root 1024 Dec 29 11:58 .
drwxr-xr-x 4 root root 1024 Dec 29 11:59 ..
-rw-r--r-- 1 root root 20 Dec 29 11:36 direct_command_exec
The content of this file is:
message_to_operator
which is the menu_item_type for leaving a message.
NB: this assumes mvm's spool was set to /usr/spool/voice, and
it also assumes that you configured mgetty in /usr/lib/mgetty.