It's very simple but it doesn't work. Here's the entire script.
#! /usr/bin/python
import sys
env = {}
def comm(cmd):
sys.stdout.write(cmd.strip() + '\n')
sys.stdout.flush()
return sys.stdin.readline().strip()
while 1:
line = sys.stdin.readline().strip()
if line == '': break
key,data = line.split(':')
if key[:4] == 'agi_':
key = key.strip()[4:]
data = data.strip()
if key: env[key] = data
#comm("Verbose(0,pyast: %s)" % sys.argv)
comm('SAY NUMBER 123 ""')
sys.stderr.write("AGI Environment Dump:\n");
for key in env.keys():
sys.stderr.write(" -- %s = %s\n" % (key, env[key]))
sys.stderr.flush()
The extension is;
exten => *22,1,Verbose(0,${CHANNEL(peername)} calling 22 TEST)
same => n,AGI(/home/darcy/pyast,Hello world)
same => n,Hangup
What happens when I dial it is that the dialplan Verbose statement runs
but nothing else is logged and the number is not said. When I turn on
AGI debugging I get this:
... (a bunch of agi_ variables)
<SIP/darcy-0000000d>AGI Tx >> agi_arg_1: Hello world
<SIP/darcy-0000000d>AGI Tx >>
<SIP/darcy-0000000d>AGI Rx << SAY NUMBER 123 ""
<SIP/darcy-0000000d>AGI Tx >> 200 result=0
There is a delay between the last Rx and Tx suggesting that it thinks
that the numbers are being played but I don't hear them. Also, the
output to stderr does not appear in the logs.
Here is my environment:
- Asterisk 11.20.0
- NetBSD 7.0
- Python 3.4
Thanks in advance for any help or suggestions.
--
D'Arcy J.M. Cain
System Administrator, Vex.Net
http://www.Vex.Net/ IM:[email protected]
VoIP: sip:[email protected]
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
New to Asterisk? Join us for a live introductory webinar every Thurs:
http://www.asterisk.org/hello
asterisk-users mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-users