2009年4月22日 (水)

WebARENA SuitePRO V2でAsteriskを動かしてみる

 前回の旅行ではうまくいったので今回も海外からの接続用にAsteriskサーバを用意してみましょう。 ホテルでは無線LANが使えると書いてあるのでE61が接続できれば今回も国際通話がタダになるはず!

 今回は仕事用に借りているWebARENA SuitePRO V2にインストールしてみることにします。 実際のIP電話(niftyフォン)の処理は自宅のAsteriskサーバが行うので、 それに対してIAXで接続できればいいだけなので簡単です。 Asteriskのソースをとってきてconfiugreしてmakeしたらインストールできちゃいました。 なんの問題もなしで拍子抜けしたくらいです。 インストールしたのが1.6で自宅で動いているのが1.2だったのでちょっとだけ心配しましたが、 設定ファイルも前回のものを流用してOKでした。ああ楽ちん楽ちん。

(Nokia E61) - SIP - (WebARENA) - IAX - (自宅) - SIP - niftyフォン

という形になりますね。自宅のサーバはNATの内側にありますがIAXだと簡単につなぐことができます。 この形だとE61と自宅のサーバに登録されている電話機は内線通話になるため、 E61が世界中のどこにいてもインターネットにさえつなぐことができれば電話代が不要になっちゃうわけで、 考えてみればすごいハナシだよなあ。

| | コメント (0) | トラックバック (0)

2008年9月25日 (木)

旅行中の通信機材

_P1020885  今回の旅行に持って行った秘密兵器(というほどでもない)です。      ちょっと見にくいですけどNokiaのE61      Standard(ソフトバンクじゃない奴)とBluetoothキーボードのRBK-2000BTIIです。       結論から言えばキーボードまでは必要なかったかな?と思いますけど折りたためるので邪魔にはなりませんからね。

 せっかくのSIMロックフリー端末なのでトルコのSIM買ってみたかったんですが必要ないしなあ。 というのもですね日本にAsteriskのサーバ用意していったのでホテルの無線LAN使って(E61は無線LANも使えます)ふつうにniftyフォン経由で通話ができてしまったからです! トルコにある携帯電話が日本の自宅の内線用子機になってるんですよ?ちょっと感動しましたね。 ホテルの無線LANが調子悪くて部屋で使えなかったのが画竜点睛を欠きますが、それでも仕事の連絡やお客さんの様子伺いには十分でした。

すごいぞ!Asterisk!

 そのへんの設定はまた後で書いておきます(別に特別な設定はしてませんけど)。

| | コメント (0) | トラックバック (0)

2008年8月17日 (日)

sip.conf 抜粋(@niftyフォン C用)

@niftyフォン C用 sip.conf 抜粋
自分用備忘録および何かの役に立てば。ただしasterisk1.2用なので最新版で使えるかどうかは不明です。

[general]
maxexpirey=3600
defaultexpirey=3600
context=default
port=5060
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
allow=gsm
language=jp
dtmfmode=inband

;NAT
externhost=
(着信用ホスト名 or IPアドレス)
externrefresh=10
localnet=
192.168.8.0/255.255.255.0
nat=route
register =>
(IP電話番号)@nifty.com:(VoIPユーザパスワード):(VoIPユーザ ID)@nifty/(IP電話番号)

[nifty]
type=friend
secret=
(VoIPユーザパスワード)
username=
(VoIPユーザ ID)
fromuser=
(IP電話番号)
fromdomain=nifty.com
host=
(VoIPサーバ名)
context=nifty-in
dtmfmode=inband
canreinvite=no
insecure=very
progressinband=no

赤字は自分の環境に合わせて修正が必要。
(着信用ホスト名 or IPアドレス)はIPアドレスかホスト名。ホスト名を使うにはDDNSなどの登録が必要ですね。とりあえずテストする際にはルータのインターネット側IPアドレスを調べて直接書いてしまうのが簡単。

| | コメント (8) | トラックバック (0)

2006年12月28日 (木)

Asterisk 短縮ダイヤルもどき

 久しぶりのAsteriskネタは短縮ダイヤル。ネタというほどじゃないですが300番代を短縮ダイヤルと言うことにしてよくかける相手の番号を登録してみました。といってもextensions.conf に

exten => _301,1,Dial(SIP/0312345678@nifty)
exten => _301,2,Congestion

というぐあいにズラズラと並べて登録しただけです。なんのひねりもありません ^^; 登録する番号はせいぜい10個なのでこれで問題なさそうですが、ダイヤルプランの書き方をもうちょっと勉強して頭をつかえばきれいに書けるのかな?電話番号リストは外部ファイルから読み込みたい気はしますね。

| | コメント (4) | トラックバック (1)

2006年11月 8日 (水)

Asterisk 原因不明だけど動いた

 昨日の転送不可の続き。症状は

  1. A <--> B 双方向の内線呼出、通話はOK
  2. A -> B の転送OK
  3. B -> A の転送NG
  4. #を押すと"transfer"が聞こえる
  5. その後Aの内線番号を押すと pbx-invalid.gsmが再生されているようだ
  6. 5.の現象のあとは#が無効になる(しばらくすると有効になるみたい)

原因がさっぱりわからないのですが、sip.confとextensions.confから使っていない内線番号の設定を削除してreloadしたら動くようになりました。削除したからというよりreloadしたせいで直ったような気がしますが。

| | コメント (0) | トラックバック (0)

2006年11月 7日 (火)

Asterisk その後

 先週 rtp.conf を修正してから音声が聞こえない現象はでていません。やっぱりあれが原因だったのでしょうね。というわけで普通の通話に関しては安定稼働しているのですが、またまた転送でちょっとトラブルが発生しました。

 内線電話は2つあるのですが「AからBへは転送できるのにBからAへの転送ができない」という現象です。#を押したときの「transfer」という音声も流れたり流れなかったりという不安定な状況にあります。sip.confやextensions.confの設定は同じにしてあるので電話機の問題なのか、接続形式のせいなのか。まだ現象を追い込んでいないのですが明日は奥さんが打合せで外出するようなので、その間に調査してみます。

 もう一息なんだけどなあ。

| | コメント (0) | トラックバック (0)

2006年11月 1日 (水)

Asterisk 設定ミス?

 「着信はするけど声が聞こえない」「発信してるけど呼び出し音も聞こえない」という症状が時々発生しています。音声用UDPポートのNATまわりが怪しいんだと思うんですがasteriskをリスタートさせると通じていたので困りつつもちょっと放置していました。が、今日はリスタートさせてもダメ。今朝ルータの設定をちょっといじって再起動させたけどNAT関連はいじってないし、というわけで設定を見直し。

 最初に設定したときに自分で「ポートの範囲はrtp.conf(rpt.confってものあるので注意)で指定されていて、デフォルトから変更していなければ10000-20000のはず」と書いてルータのNATもその範囲を通すようにしましたが、念のため確認しようと思ったら

あれ?rtp.conf が無いじゃん?

 どうやら不要な設定ファイルを整理したときに間違って消してしまったみたいです。distからコピーして中を確認したところ
; Defaults are rtpstart=5000 and rtpend=31000
とはっきり書かれていました。その後ろに
rtpstart=10000
rtpend=20000

の記述があるので、ファイルが無いと5000-31000が使われてしまうのですね。それで音声が通ったり通らなかったりしていたのか・・・・な?多分そうだと思うのでこれでしばらく様子見です。

| | コメント (0) | トラックバック (0)

2006年10月18日 (水)

内線転送成功!

 めでたく仮運用を開始した我が家のAsteriskですが、ようやく内線の転送ができるようになりました。できなかった状態はと言うと、extensions.conf の dial コマンドには tT をつけてあるしテストで使っているソフトフォン(X-Lite)では#を押すと「transfer」という音声が流れて転送できるのに、RT58につないだ電話機ではなぜか#を押してもプッと音がするだけで転送可能な状態にならないというものです。色々調べて sip.conf の dtmfmode がポイントらしいと判明し、

dtmfmode=rfc2833 になっていたのを dtmfmode=inbandに変更しました。

 
コンソールから sip reload して試したら・・・ X-Lite での転送も不可になっちゃいました ^^; 「ありゃあ」と思って元に戻したけどダメで、あれこれいじったり再起動してみたけれどやっぱりダメ。

 途方に暮れつつ何かのひょうしに show dialpran してみたら覚えのない設定があります。そういえば最初の頃にあちこちで見つけたconfファイルのサンプルを使っていたので、一度全部削除(待避)して起動できる最小限のファイルだけにして試したら「transfer」の声が~。結局dtmfmodeはinbandでいいようです。

 あとは奥さんの部屋のHUBにGrandstream HandyTone 286をつないでアナログ電話機を接続。これで仕事の電話をどっちがとっても相手に転送できるようになりました。やれやれ。

 

| | コメント (0) | トラックバック (0)

2006年10月13日 (金)

Asterisk 仮運用開始

 テストしてから放置していたAsteriskですがRT58iも届いたことだし復活。まずRT58iからniftyのIPフォン設定を潔く削除!代わりにAsteriskをniftyに登録します。

 まずRT58iにDDNSの設定をします。YAMAHAが「ネットボランチDNS」というサービスを無料で提供してくれているのでRT58iのかんたん設定ページから好きなホスト名で登録します。そこで表示されるFQDNを sip.conf の[general]セクションのexternhost=に設定します。

 NATも設定してやらなきゃいけないのでこれも簡単設定ページの
[トップ]  > [詳細設定と情報]  > [基本接続の詳細な設定]  > [プロバイダの修正(PP[01])]
の「静的IPマスカレード関連」で登録。consoleで確認すると

ip filter 200080 pass * 192.168.xxx.yyy tcp * 5060
ip filter 200081 pass * 192.168.xxx.yyy udp * 5004-5060
nat descriptor masquerade static 1000 1 192.168.xxx.yyy tcp 5060
nat descriptor masquerade static 1000 2 192.168.xxx.yyy udp 5004-5060

となっていました。

これでAsteriskのCLIで sip show registryするとRegistered。よしよし。ここまでは順調。試しに携帯電話から050番号にかけてみるとめでたく着信しました。が、音声が通っていません ^^; 確か音声用のポートも開かないといけなかったのを思い出して調べるとポートの範囲はrtp.conf(rpt.confってものあるので注意)で指定されていて、デフォルトから変更していなければ10000-20000のはず。これもNATに設定します。こうなりました。

nat descriptor masquerade static 1000 5 192.168.xxx.yyy udp 10000-20000
ip filter 200084 pass * 192.168.xxx.yyy udp * 10000-20000

これで通話もOKになりました。あとはRT58iのVoIP設定を使ってRT58iをAsteriskに登録してやります。WR7610HVと違ってローカル側に対しても登録できるので、これでRT58iにつないであるかっこいい電話機 がAsterisk用の電話機としても使えます。

でもまだ「内線間の転送」ができてないんです・・・

| | コメント (0) | トラックバック (0)

2006年9月 7日 (木)

品物は届いたけれど

 Asteriskカテゴリ作りました。

_a_1 先週の木曜日に注文した品物到着。郵便局から普通に小包として配達されてきました。思っていたより小さかった。

 注文したのはX100P FXO PCI CardGrandstream HandyTone 286Digium TDM11B (1 FXS & 1 FXO Ports) 。$301.85 + 送料$43.45でした。

 

_b

 中身はこれ。よく見るとカードのブラケットが曲がっていたりするのはアメリカン・スタンダード ^^) カード類はすぐには試せない(ノートPCで実験してる)ので、とりあえずHT286だけ試してみた。もちろんマニュアルなんてついていなかったのでここからダウンロード。電話機をつないでピポパと設定するのね。DHCPがデフォルトだったけどアドレスの確認がめんどうなので固定IP振ってPCからブラウザで設定。この設定画面って一般ユーザと管理者をパスワードだけで区別するんですか。

 いっぱい設定項目あったけどSIP関係以外は全部放置であっさりつながりました。これならもう一つ買っておけばよかったかな?


 と機嫌良くテストは終了して、さっきブログ巡回してたら、とっても役に立つえふログさんのところでショックを受ける。

今までそこそこ安く買えていたのに、値上げしちゃうしアメリカ国内にしか販売しない ような感じに変更されてしまいました。アカウントを持っているので一応売ってはくれそう だけど。

 え!?さっそくdigitnetworks.comに飛んで試したらアカウント消えてるみたい・・・

大粛正ですか?

 これは「カード買っておいて良かった・・」と安心するところか?

2006/09/10追記:登録した住所は消えていましたがIDとパスワードは復活したみたいです。住所入力で国もJAPANを選べるようになっているので大丈夫みたい。

| | コメント (0) | トラックバック (0)

2006年8月31日 (木)

Asterisk その5

 そろそろカテゴリを分けようかなあ。久しぶりにAsteriskの実験をしようと思ったらNiftyにレジストしないぞ??はて、最後にテストしたときから設定はいじっていないんだけど。結局のところルータの[電話の状態と状態の変更]で「IP電話利用停止」を押した状態でルータを再起動したらレジストできました。

 さて、今回は外線発信のテストを。今までは外線(NiftyフォンC)からの着信ができているだけで発信できません。テストしなかった理由は・・・extensions.confを書くのがめんどうだったからなんですが、そんなことは言ってられません。紆余曲折の末に動いたextensions.confの該当部分はこれ。

; extensions.conf
[default]
exten => _00.,1,Dial(SIP/${EXTEN:1}@nifty)
exten => _00.,2,Congestion

0発信、市外局番必須の手抜き版です。もちろんsip.confには[nifty]というコンテキストを作ってあります。実は最初はこの「@nifty」を付け忘れていて、ダイヤルするとだんまり状態でした。これを付けないとどの回線で発信すればいいかわからないから当然ですね。

 これでめでたく発着信が可能になったので喜び勇んだ勢いでDigitNetworksでTDM400Pを注文しちゃいました。これでもう後へは引けないぞ。意地でも実運用にもっていかねば。

| | コメント (0) | トラックバック (0)

2006年8月23日 (水)

Asterisk その4(メモ)

 着信できたところで浮かれて終わってしまったので現状のメモを残しておく。

参考にさせていただいた主なサイトは下記の3つ。ありがとうございました。

VoIP-Info.jp
Asterisk導入・設定メモ(F.Kimura's Homepage)
AsteriskによるIP-PBXの構築(パソコンおやじ)

メモ:

  • OSはFreeBSD 6.1 、 Asteriskのバージョンは1.2.9.1。
  • portsからインストールしたが結構時間がかかるのでperlやpwlibなどはpackageでインストールしておいた方がいいかも。
  • 最初だけはNAT無しで接続できる環境でテストしたほうが問題の切り分けが楽。
  • /etc/rc.confも忘れずに修正。
  • VoIP-info.jpのconfサンプルファイルを使うときはasterisk.confのパスを自分の環境に合わせること。
  • VoIPルータAterm WR7610HVがAsteriskにregistできていない(困った)

 WR7610HVはファームのバージョンを最新にしてみたけどやっぱりダメ。LAN側にはregistにいかない可能性あるかなあ?いずれルータはYAMAHAのRT58iに変更予定(発売待ち)なので、そうしたらWAN側にプライベートアドレス振って試してみよう。

 そのRT58iですがNTT-X Storeで検索したら予約受付中に なっていました。販売開始日が9月10日って妙に早くない?予約しようと思って念のためAmazonを見てみたら、あら安い。2000円ほど安い上に 10%還元だと。発売予定日が9月30日だけど店によってそんなに違うこともなかろうと、Amazonで予約しときました。

 現行機種のRT57iはAsteriskで使えているので58iも大丈夫だと思うんだけど、WR7610HVかどちらか使えないとアナログ電話機が使えなくて不便だからねぇ。でもいずれVoIPアダプタも買いそうな予感はしますが ^^;

| | コメント (2) | トラックバック (0)

2006年8月20日 (日)

Asterisk その3 少し動いた

 再度挑戦したら一応動いた。前回はzaptelを動かしていなかったのが敗因らしい。zaptelを動かしてからasteriskを起動したら前回は全く表示されなかった
「Registration for '050・・・」
というメッセージと
「No such host: nifty.com」
というエラーが表示された。うん、それはホスト名じゃないね。sip.confに
register => (050番号)@nifty.com:(voipパスワード):(voipID)@nifty.com/(050番号)
と書いていたのを
register => (050番号)@nifty.com:(voipパスワード):(voipID)@voip07.nifty.com/(050番号)
と修正したら見事レジストされた・・・と思う。エラーは消えた。

 さあ着信するかな?携帯から050番号にかけてみると「プップップ」という音のあとでいきなりBUSY音になってしまった。ログ(/var/log/asterisk/messages)を見ると「voicemailの設定が無いよ」というエラー。そうか、ルータ外して直結しちゃっているので呼び出せる内線がないわけだ。それで留守電になりかけてエラーになったと。おお、着信してるってことだな!
 voicemail.confを書いて/var/spool/asterisk/voicemail/defaultに内線番号のディレクトリ作って(1234というサンプルができていたのでそれをコピーした)もう一度電話してみると、見事に英語のアナウンスが流れてメッセージを録音できました。

 さて次はNAT。使用しているルータはAterm WR7610HVというVoIP対応ルータ。管理画面からVoIPを停止(「情報」->「電話の状態と状態の変更」で「IP電話利用停止」)して念のため「サーバから削除」もしておく。通話に使用するUDPポートがよくわからんのでポートマッピングの設定で5000-5999を転送してみる。
 で、あっさりルータの内側にasteriskを置いた状態で内線(パソコン上のソフトフォン:X-Lite)に着信しちゃいました。しかも携帯の番号も表示されているぞ。

 これはスゴイ&面白いねぇ。って感動したところで今日はここまで。

| | コメント (0) | トラックバック (0)

2006年8月13日 (日)

Asterisk その2

 あいかわらずNiftyにはレジストできず。

 NATのせいかどうか判定するためルータを外してFreeBSDにPPPoEの設定をして直接接続し、割り振られたIPアドレスをsip.confのexternipに書いてしまう。やっぱりダメ。

 tcpdumpでモニタしてみるとSIPサーバの名前解決はしているけどそのあと接続に行っている気配がないぞ?やはりNATとかの問題以前に根本的にミスをしているっぽい。何かインストールをミスったか設定ファイルを間違えているかだろうなあ。

 夏休み明けの目標:

  1. AsteriskをNiftyフォン-Cに接続する
  2. Niftyフォンの通話を家庭内で保留・転送できるようにする
  3. いま使っているVoIPルータをAsteriskに登録して普通の電話機用にする

| | コメント (0) | トラックバック (0)

2006年8月12日 (土)

Asteriskインストールのみ

 時間とマシンがあったのでAsteriskのインストールだけしてみた。マシンはCeleron300MHz、メモリ128MBのノートPC。推奨CPUは800Mhz以上らしいけど玄箱で動くくらいならこれでも大丈夫だろう。OSはFreeBSD6.1で、portsからmakeするだけだから簡単。インストールされたAsteriskのバージョンは 1.2.9.1 でした。

 あとはvoip-info.jp を参考に試行錯誤するだけ(?)。設定ファイルのサンプルがあったのでそれを試してみようと・・・動かない。最初はこんなもんだろうと納得しつつ考えてみたら、サンプルはLinux用なのでディレクトリ構成が違うので動くわけないっす。asterisk.confを修正して(というか元に戻して)えいやっと。動いた動いた。netstatで見るとudpの5060が見えるので多分OK。

 本体が動けばテストしてみたくなるのが人情ってもので、上記のサイトで紹介されていたX-Lite というソフトフォンを2台のPCにインストールして相手の内線を呼んでみると、あっさり動いた!呼び出し音がアメリカンだけど、これはスゴイなあ。

 この勢いでNiftyフォンにも行けるか!?さすがにそこまでは甘くなかった ^^; なんか全くレジストに行ってる気配が無いんだけどNAT越えに失敗してるんかなあ?しかしログを見てもレジスト失敗の形跡すら無いのが不安というか不思議だ。そもそもログってこれ(/var/log/asterisk/messages)でいいんだよな?

 さて(ようやく)マニュアル見るか・・・

| | コメント (0) | トラックバック (0)