ホーム ダウンロード ユーザー登録 ログイン ニュース FAQ サポート ログアウト
ログイン

ユーザー名:


パスワード:





パスワード紛失  |新規登録
メインメニュー
投稿者: PePeZ 投稿日時: 2017/7/25 9:54:18 (988 ヒット)
Asterisk

音声が聞こえない、それも片側だけという状態をOne Way Audioと言います。Asteriskでよくあるトラブルです。

音声のトラブルのほとんどはRTPが相手に届いていないことで起こります。

rtpがどのようにやり取りされているか確認するためにはCLIで以下のコマンドを打ちます。

CLI>rtp debug on

これでasterisk内部でやり取りされているIPアドレスがわかります。

Got RTP(Asteriskが受け取ったRTP)
Sent RTP(Asteriskが送り出したRTP)

解決策

デバックして届いていないIPのルータのportを開ける
自分で手出しできるルータならば問題ないが相手方のルータに手出しができない場合が多い。テスト環境以外のほとんどがそうだと思う

そこで

ICEサーバ(STUN and TURNサーバ)を利用する。

Asteriskの設定

rtp.conf

[general]
rtpstart=10000
rtpend=20000
icesupport=yes
stunaddr=stun.hoge.com:3478 << stunサーバ:ポート
turnaddr=turn:turn.hoge.com << turnサーバ
turnusername=yourusername << ユーザ名
turnpassword=yourpassword << パスワード


WebRTCの設定

[{ url :'stun:stun.hoge.com:3478'},{ url :'turn:turn.hoge.com', credential: 'yourpassword', username: 'yourusername'}]

SIP Phone等はstunのみの指定でも大丈夫

ICEサーバはとりあえず公開サーバを探して指定すれば確認できます

stunだけだとある日突然繋がらないことが起こります。

必ずstun+turnの構成が必要です。


投稿者: PePeZ 投稿日時: 2013/12/27 16:43:30 (2578 ヒット)
Asterisk

vinelinux6.2.1にアップグレードしたらAstersikの動きがおかしくなったのでasteriskを再インストール

コーデックやDahdiも再コンパイルした。

Install Speex (codec):

# wget http://downloads.xiph.org/releases/speex/speex-1.2rc1.tar.gz
# tar xvzf speex-1.2rc1.tar.gz
# cd speex-1.2rc1

# ./configure
# make
# make install


Install Dahdi:

# wget http://downloads.asterisk.org/pub/telephony/dahdi-linux/releases/dahdi-linux-2.6.1.tar.gz
# wget http://downloads.asterisk.org/pub/telephony/dahdi-tools/releases/dahdi-tools-2.6.1.tar.gz
# tar xvzf dahdi-linux-2.6.1.tar.gz
# tar xvzf dahdi-tools-2.6.1.tar.gz

# cd /usr/src/dahdi-linux-2.6.1
# make
# make install

# cd /usr/src/dahdi-tools-2.6.1
# ./configure
# make menuselect
# make all
# make install
# make config


投稿者: PePeZ 投稿日時: 2013/12/27 16:33:56 (2421 ヒット)
Asterisk

1 mecabをインストールする
http://mecab.googlecode.com/svn/trunk/mecab/doc/index.html#download

# wget http://mecab.googlecode.com/files/mecab-0.996.tar.gz

# tar zxfv mecab-0.996.tar.gz

# cd mecab-0.996

# ./configure

# make

# make check

# make install

2 辞書をインストールする

# wget http://sourceforge.net/projects/mecab/files/mecab-ipadic/2.7.0-20070801/mecab-ipadic-2.7.0-20070801.tar.gz/download

# tar zxfv mecab-ipadic-2.7.0-20070801.tar.gz

# cd mecab-ipadic-2.7.0-20070801

# ./configure --with-charset=utf-8 --with-mecab-config=/usr/local/bin/mecab-config

# make

# make install

3 php_mecab moduleをインストールする

http://blog.r-sky.jp/page/2 を利用

# wget https://github.com/downloads/rsky/php-mecab/php-mecab-0.5.0.tgz

# tar xzvf mecab-0.5.0.tgz

# cd mecab-0.5.0

# /usr/bin/phpize

# ./configure --with-php-config=/usr/bin/php-config --with-mecab=/usr/local/bin/mecab-config

# make

# make install

4 phpで利用出来るようにする

# vi /etc/php5/php.ini

extension_dir = "/usr/lib64/php5"
extension=mecab.so


投稿者: PePeZ 投稿日時: 2013/8/29 20:18:00 (2640 ヒット)
Asterisk

まずpcntlが利用できるように
apt-get install php-pcntl
次に
vi /etc/php5/php.d/pcntl.ini


;Enable pcntl extension module 
;extension=pcntl.so

extension->pcntl.soのコメントを外す
apacheをリロード

agiスクリプトの先頭に

#!/usr/bin/php -q
<?php
declare(ticks = 1);
// シグナルハンドラ関数
function sig_handler($signo) {
//ここに切断された時の処理を書く
}
pcntl_signal(SIGHUP, "sig_handler");


これで回線切断された時の後処理ができます。


投稿者: PePeZ 投稿日時: 2013/8/28 19:11:00 (2458 ヒット)
Asterisk

Webの予約システムとAstersikの連動を行いました。
使用したパッケージは
phpagi-2.20.tgz(phpでasteriskを操作できるようになる)
mecab-0.98.tar.gz(漢字をひらがなに変換)
aqtk20061012.zip(ひらがな->音声作成wav形式)
sox(wav->sgm変換)
以上です。3時間もあれば作成できるなんてすばらしいです。
面倒な予約の可否判断はwebでさせて、RESTでasterisk側で受け取ります。

ライセンスの問題でaquestalk※はwindows版をwineで使用しています。
うーむ、素晴らしいですね、音声ファイルを動的に生成してますが、遅延もなく動作しています。アクセントさえうまく記述すれば自然な感じに聞こえますし

※aquestalkは株式会社アクエストの商品名称です。


(1) 2 »
Copyright 2003-2017ホームページ制作 Nine Stars(ナインスター)