LoginSignup
1
2

More than 5 years have passed since last update.

asteriskでAGIを扱うときにハマったところ

Last updated at Posted at 2018-01-10

RedialというAGIのサイトをしてたところでちょっとハマってしまったので共有します。

2018/1/14 Asteriskを入れ直したら権限などが少し変わってたのでここに書き直しました。

AGIとは?

Asterisk Gateway Interfaceのこと
WEBサーバーのCGIみたいな感じで
Asteriskでダイアルしたらスクリプトを走らせたりするらしい。

スクリプトはこんな感じ

test.py

f = open("test.txt","w")
f.write("This is Test")
f.close()

extensions.conf

exten => 5,1,Answer()
exten => 5,n,AGI(test.py)

クライアントから『5』をダイアルするとスクリプト(test.py)を走らせる感じ。

ハマった所①

改行コード
改行コードはLFでないといけなかった。
atomで直した。

ハマった所②

Pythonの実行パス
asteriskの実行パスを確認してtest.pyの1行目に記述する。
それぞれ違ってた
まずはsudo su asteriskでユーザーasteriskになってから
Pythonのインタプリタに入って


import sys
sys.executable

で確認する。
ユーザーが自分の時はanaconda使ってたのにasteriskになるとpython2.7になってた。
なんでや・・

ハマった所③

実行権限

AGIを実行するのはAsteriskでrootではない
てことでちゃんと変更しておく


sudo chmod 755 test.py
sudo chown asterisk:asterisk test.py

最後に

簡単に書いたけどメチャクチャハマってた。。

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2