#!/bin/sh echo 'Content-type: text/plain' echo '' case $# in 1) ;; *) echo wrong number of arguments; exit ;; esac NUMBER=`echo $1 | awk ' BEGIN { cc="+1"; area="865"; } /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/ { e164=cc area $0; next; } /^[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]$/ { e164=cc $0; next; } /^+/ { e164=$0; next; } { print "error"; exit; } END { if (e164 ~ /^+1865/) { number = substr (e164, 6, length(e164)-5); } else { if (e164 ~ /^+1/) { number = substr (e164, 2, length(e164)-1); } else { number = "1011" substr (e164, 2, length(e164)-1); } } print number; }'` case "$NUMBER" in "") echo "no number found"; exit;; error) echo "cannot parse number $0"; exit;; esac echo "dialing $NUMBER..." ~moore/abin/i386-NetBSD/ttychat 2>&1 -tty /dev/tty03 -speed 38400 -- \ -t 10 -V \ TIMEOUT 2 \ '' ATZ \ OK-AT-OK-AT-OK '\c' \ TIMEOUT 10 \ '' "ATDT$NUMBER,,;" \ OK '\d\d\dATH' echo "done"