オープンソースPBX Asteriskについて語ろう part8
すみません、RasPiが壊れて久々(数年ぶり)に最新のRasPBXを入れ直したらうまくいかないので、
教えてください。
自宅でHGW配下にRasPBXをおいて、RasPBXをHGWに内線扱いで接続してます。
そして携帯(acrobits)をRasPBXにレジストしています。
この状態で携帯から発信(通話)はできるのですが、発信すると発信履歴が全部/常に自宅に
なってしまいます。
例えばドコモのセンター(0120-800000)へ発信すると、ちゃんとドコモのセンターへつながるの
ですが、繋がったときに携帯の相手先表示が自宅(0ABJ)に変わり、当然発信履歴も自宅に
なります。
これってどこが間違っているのでしょうか…?
「記憶としては」以前とRasPBXと設定は同じなのですが…なんかCID周りが間違っている
んですよね…? >>269
ざっと読んだ感じだと当たり前の挙動だと思うけど、見落としてるかも
しれないから図を描いて、どういう挙動にしたいか説明したほうがいいよ >>271
図になってないってのはさておき
sshなりでloginしてシェル上で次打ったらどう出る?
grep 03abcdefgh /etc/asterisk/*
[globals]の
/etc/asterisk/extensions_additional.conf:OUTCID_xx = <03abcdefgh>
と
[ext-did-00nn]のインバウンドルートの当該電話番号をうけたら何処に送るかの先頭の電話番号たちと
[outrt-vv]のアウトバウンドルートでDial Patternsにマッチしたら
ExecIfでTRUNKCIDOVERRIDE=<03abcdefgh>)の書き換え
くらいだと思うけど、ほかにもあったらそこが図に本来書く書き換えルール上設定してはいけない場所じゃね?
http://xx.xx.xx.xx/admin/config.php?display=cdr
とか
http://xx.xx.xx.xx/admin/config.php?display=cel
のDetailsをshowしてコンテキストやChannel Nameの遷移みればどこで書き換えたかみえるんじゃね?
http://xx.xx.xx.xx/admin/config.php?display=logfiles
も追いかけてごらん。
ちなみにHGWの内線に子機としてpjsipかsipでトランクしてぶらさげてるんだよね?構成図上は。
acrobitsは使ってないのであれだけどそいつの設定で何か表示上の書き換えとかの設定とかってあるの?それも確認してみてよ。 >>271
すぐに思い当たらないけど、Acrobitsでログを取る機能があるので
確認するとなにか出てくるかもしれない。 >>269
切り分けが大事
・クライアントSIP Phoneを替えてみては?
・単純な設定から試してみよう。
・HGW以外のVOIP GWにトランクしてみるとか。 >272
>273
>274
コメントありがとうございます。
家でしか確認切り分けできないので、今週いろいろ見てみます。
結果はまた報告します! Acrobits SoftphoneまたはGroundwireかもしれないけど、まぁどっちでも現行バージョンでは俺は問題出てないね
RasPBXのバックアップ取ってなかったの? raspbxのシステムアップグレードコマンド実行したらアップデート失敗してシステムが起動すらしなくなった。怖い >>279
動作安定しているならアップデートしない
もちろん、セキュリティーは別の技術で担保しているが 現状Chan_sipを使ってますが、Chan_pjsip に変えるメリットを教えてください
Multiple Registrationとかそういう機能が増えるだけなんでしょうか?
レスポンスが早くなったりとかそういうスペック的な部分でメリットありますか? >>281
今後も開発とメンテナンスが予定されている
これが最大のメリット pjsipと、これまでのsipとどう違うのかよくわからない。
互換性はあるんだろうか。
5060ポートが使える?
pjsipでなくて、sipの更新じゃだめだったのかな。 逆に考えるとsipで動いてるならそのままで構わない? PJSIPでググればわかることだが、PJSIPはAsteriskとは別の開発者集団による、別のオープンソースソフトウェアだぞ
まぁ、同じ人がどっちにも参加してるとかはあるかもだがな
なので多分PJSIPはAsteriskじゃない別のソフトウェアに組み込まれて動作してる事例もあるんだろう
つまりAsteriskは自前のSIP実装を捨てて、他のよく出来た実装であるPJSIPを使うことにしたという話だ >>283
設定ファイルは全く違うので書き直しがいる
5060は使える
chan_sipの開発に資源を使うより外部プロジェクトに依存したほうが
いいとの判断でしょう >>285
SIPという普遍のプロトコルを実装している具体が、
「PJSIP」と、「ASTERISKが当初から組み込んでいたもの」と2種類あるという理解であっているでしょうか。 >>286
仮にSIPプロトコルを実装しているものとしては同じだとしても、
設定ファイルの様式は、プロトコルとしては定義されていないから仕方ないということなのかな。
大量のsip.confの書き換えが面倒くさそうだな。 一応は変換スクリプトがAsteriskについてるよ
どれくらい上手く変換できるのかは知らないけどね >>269 で質問した者ですが、続報です。
原因は分からなかったのですが、(私としては)結果的に解決してしまいました…。
最初色々と試していたものの、何度も試すうちにRasPBX(FreePBX)の重さに耐えられなくなり、
Asterisk(Raspbian)に切り替えて構築し直しました。
かなり昔作ったsip.confの記憶を元に、今回pjsip(.conf)へも移行して動かしてみたところ、
先に質問した動きは見られませんでした。
数年前に楽しようとRasPBXへ移行したものの、やっぱり普通にAsterisk動かす方が楽ですね。
ということで全く情報のない報告で申し訳ないですが、経緯をお伝えいたします。
皆さんありがとうございました 。 そういえば追加質問で恐縮なのですが、着信時に番号で部分マッチングってどうやってやるのか
おわかりの方、教えていただけないでしょうか?
やりたいことは、フリーダイヤル(0120で始まる番号)からの着信拒否です。
非通知拒否であれば、extensions.conf内でCIDが”anonymous”であればGotoIf拒否だったり
番号完全一致なら”03xxxxxxxx”と直接記述して可能なんですが、0120で「始まる」って
どう記述するんでしょうか? Asterisk Expressionsを使えばできそう。しかしAsterisk Expressionsって日本語の解説が全然ないのと、正規表現の知識が必要なので勉強してくださいな。
つまりAsterisk Expressionsで「0120から始まる番号」っていう正規表現にマッチするかどうかをチェックしてGotoIfで分岐する、と。 _0120.
何言ってんだかよくわかってないけど俺はFreePBXでこうしてるけどそういう意味じゃなくて? >>293
ありがとうございます!!出来ました。
(正規表現が使えるような仕組みがあるとは思ってもいなくて、検索が不十分でした)
Set(free_dial=“0120”)
GotoIf($[${CALLERID(num)}:${free_dial}]?x:x)
これで、先頭が0120で始まる番号を処理出来るっぽいです(手元ではできています)
他にも0800とかありますけど、同じようにやればできますね。
>>294
FreePBXのIncommingのどこかでそれを入れるということでしょうか?
(すみません…FreePBXの画面が頻繁に変わるので、あまり記憶がはっきりしないのですが) >>291,292,293,295
駄文長すぎ。病的だね。もっとまとめて簡素に書こうよ。
ドキュメントちゃんと読めない人かな? >>291
Asteriskを生で動かしたほうが、
設定も柔軟にできるから良いと思うよ。 >>297
同意
FreePBXは、見た目にはわかりやすくて、そっちへ行きたいと思うんだけど、
連携がわかりにくくて、必要な設定をどこに入れるのかわからないんだよね。
わかりやすいマニュアルでもあれば良いんだけど・・・ Asterisk 11.25.3 をソースから再インストールしました。(OSはLinux CentOS 7)
パーキングなど保留音が鳴る場合に、なぜかいつも一曲しか鳴りません。(以前は、毎回異なる曲がなっていました)
下記はCLIのコマンドの結果です。
CLI> moh show files
Class: default
File: /var/lib/asterisk/moh/macroform-cold_day
File: /var/lib/asterisk/moh/macroform-robot_dity
File: /var/lib/asterisk/moh/macroform-the_simplicity
File: /var/lib/asterisk/moh/manolo_camp-morning_coffee
File: /var/lib/asterisk/moh/reno_project-system
CLI> moh show classes
Class: default
Mode: files
Directory: moh
どこが間違っているかわかりますか? >>300
ありがとうございます。
設定ファイルを調べてみました。
[default]
mode=files
directory=moh
上記クラスには、この2つしか設定がありませんでした。
サンプルには、次のような項目がありコメントアウトされていました。
;sort=random ; Sort the files in random order
これを、defaultクラスに追記して様子を見てみたいと思います。 chan_pjsipに移行しようと思ったけど、UDPでkeepaliveできないの辛いなぁ
次のLTSまでchan_sipでしのぐしかない やってみりゃわかるけど、ITSPにドバっとOPTIONS飛んで行ってこれ絶対怒られるわって気持ちになるゾ 以下覚え
ひかり電話+raspbxで pjsip使って鳴り分け、did制御しようと参考サイトのままに
exten => _.,
とするとうまくいかず
exten => s,
に変えると成功する >>306
raspbx で鳴り分けしようと思ったら、
一通りのGUIでは太刀打ちできないから、
結局、ASTERISKで構成したほうが見やすくて、柔軟で良いのではないかと思う つまづいてる人いるかもなので書いとく
FreePBX13で動いてたひかり電話の発番選択は最近のバージョンで動作しない
以下に変えれば動く
[macro-dialout-trunk-predial-hook]
exten => s,1,Set(HASH(_SIPHEADERS,P-Preferred-Identity)=<sip:${CALLERID(num)}@ntt-east.ne.jp>)
exten => s,n,MacroExit()
https://htlab.net/computer/software/freepbx/freepbx-15-trunk-hikari/ >>308
今はFreePBXを使っていないので関係ないが、
Asteriskでは鳴り分けしているので、参考にしたい。
ありがとう。 pjsip.confでひかり電話直収を頑張って、レジスト&着信はできたものの、発信ができなかった。ギブアップ。
具体的には、発信時のinviteに対して400が返ってくる。
sip.confでは発着信出来ているので、debugで細かく比較してphsipを似せていったんだが、
これ以上は似せられない。
質問
1:pjsipで直収&発着信出来ている方おられますか?
2:比較したところ、Call-IDがsipだと末尾に@ntt-east.ne.jpがつくものの、pjsipだと
それがつかない。つける方法をご存じの方おられますか?
なんか疲れて雑でごめんなさい。 3Gの回線収容するのってchan_mobileはもう主流じゃないんですかね
(3G自体がオワコンになりつつありますが
E169買ってchan_dongle試してみてますが、会話できなくはないけど
ノイズが乗ったりしてあんまり安定して使えてるかんじじゃなくて。 >310
NTTのひかり電話機器の INVITE の Call-IDは @ntt-east.ne.jp なんてついてないが >>313
ありがとうございます。
じゃあinvite出来ない理由はそこじゃないのか。 Twilioで03などの市外局番を使えたら良いのになー。 >>313
今更改めて確認しましたが、網側からの(着信時の)inviteには、ntt-east.ne.jpってついてませんか?
(set history onで見ると、ついてます) 度々お騒がせして申し訳ございません。
viaのrportな気がしてきました。
調べてからちゃんと書きます。
お騒がせしました。 >316
ついてるね
でも採番時によそとかぶらないようにつけてるだけで文字列に意味はないでしょ
うまくいったらメモまとめるんやで sip.conf からpjsip.conf生成のスクリプトじゃ駄目なのかよ? 度々書き込んで申し訳ないです。
sip.confではnat=neverでviaのrportがつかない挙動となるようです。
そして付属のpyスクリプトだと、pjsip.confのforce_rportとかなんとかに変換されるものの、
viaにrportがつく挙動になってしまいます。
で、今から試すのですが、disable_rportをyesにするとrportがつかない気がするのですが、
手元で動かしているasterisk16だとなぜそれが効かないんです。
なので今からソースから18を入れて試そうと。 >>311
RasPBX(Raspberry 3)で、3Gドングル使えています。
音声も良好です。
E169かどうか知らないけど、ファウェイのやつです。
USBポートの電源が安定している必要がありそう。
また、複数のドングルを使っている場合、お互いを離していないと、
使えませんでした。(青LEDが緑になって使えなくなる)
5Gが始まろうとしています。
3Gドングルは何に置き換えられるかなあ。
スマートフォンをブルートゥース接続するのは嫌だ。
いっそのこと、スマートフォンがVOIPゲートウェイになったらいいのにと思う。 >>320
NTTのひかり電話直収は、
こういう試行錯誤が必要になるからいやよなあ。
話を聞いていると
”viaのrportがつかない”動作になればいいわけだよね。
応援しているのでがんばって。
報告期待しています。 出来ました。やっぱりviaのrportでした。
詳細はまとめて報告しますが、まずは一報します。
興味ない方々、ウザくて失礼しました。 pjsip.confでひかり電話直収が出来た件をまとめたのですが、病的に文章が長くなってしまったので、qiitaに書きました。
私が直接リンクすると宣伝くさくて叩かれそうなので、「ひかり電話 ​直収 ​pjsip」で検索してください。
今北産業としては
(1)voip-info.jpに載っている直収用dhclient.confでアドレス取得すればいい(dhclientの再ビルドなど不要)
(2)voip-info.jpに載っている直収用sip.confをsip_to_pjsip.pyでpjsip.confへ変換し、一部手直しすれば良い
(3)手直しはclient_uri, ​server_uri、あとdisable_rportを追加する。ただしこれが効くのは16.12.0以降もしくは18.0.0以降
です。
ご査収ください。 GJ
名前引けないといけないのはpjsipが勝手に名前引くからかなぁ
別々に設定する方法があればいいのだけど >>326
本当におつかれさま
力作なのでまだざっとしか目を通していませんけど、
具体的なので自分も直収に挑戦してみたくなりました。 >>326
最初の数行で楽しくなってきました
論文形式を感じさせるのがとてもよいし、
ちょっとスパイス効いているもいい 楽天のIP電話(有料の方)をVPSのAsteriskを入れて、パソコンのソフトフォンで使用したいと思っています。
しかし下記URLの解説に「NTTフレッツ網を使え」「Asterisk修正プログラムを使え」とあり、私がやろうとしている事が可能なのかよく分かりません。
特にNTTフレッツ網は、VPSでどうするのか不明のため、
これらのことは、自分で購入したサーバにAsterisk入れて自分で引いた回線につないでを使用する場合の話で、
VPSを使用する場合は、トランクの設定などを正しく行えば楽天IP電話が使えるのではないか、と考えているのですが、この認識は正しいでしょうか?
それとも楽天IP電話を一般のVPSで使うことは不可能なのでしょうか?
https://comm.rakuten.co.jp/houjin/asterisk_ip/b2bua/ 楽天にOpenGateというサービスがあってそれを使うと出来るよ。実際に運用してたから。
調べてみると良いよ。 >>330
その下記URLの中にある
OpenGateのページを開きましょう 私の独力では設定が出来ないので、どなたか設定方法を教えて頂けないでしょうか?
info@toyohara-syouten.com
■依頼内容
楽天IP電話をFreePBXを使用して設定をして、電話として使用できる状態にする。
設定した内容を私に教えて頂き、私が自分で設定できるようにして欲しい。
[詳細]
「電話として使用できる状態」とは、発信、着信、通話が可能で通常の電話と同じ様に使用できる状態です。
具体的には「内線、インバウンドルート、トランク、アウトバウンドルート」
および「楽天OpenGate(B2BUA)」に関する設定をして頂くことを想定していますが、これ以外にも必要な設定があれば、それもお願いします。
私に教える方法は、FreePBXでの設定して項目があるURLを示して、どの項目を設定したから教えて下さい。
私の能力が低いため、コマンドでのAsterisk設定は難しです。FreePBXでの設定を教えてください。
■環境
さくらインターネットのVPSにFreePBX Distroを入れてあります。(楽天の修正版Asteriskではありません)
パソコンのZoiperで内線に接続します。
■謝礼
3万円(不足とお考えでしたら金額をご提示ください) >>333
どんな会社かな?と思ってホームページにアクセスしてみたら、停止しているようだけど大丈夫?? trunkに設定するだけでねーの
保守やトラブル対応できないと困るだろうから、こんなところで募集してないでちゃんと付き合える業者探しなさいよ >>334
使わなくなったドメインを利用した捨てメアドです。あと数ヶ月は使えます。
>>335
Asteriskを扱っている会社でも、どこもHPでは別の事業を前面に出してアピールしてて、Asteriskに関する記述はほぼ無い。
だから何か問合せづらいんですよ。ここはAsteriskメインなので、むしろココの方が依頼しやすい感じがして。
もう少し待って、誰もやって頂けないようなら別をあたります。 というかなにか悩むことでもあったの?
たとえ初回教えてもらったとおりに
なんも考えず文字列を
写すように入力しても
未来で再構築なり保守する時
その
初回のが
そのまま使えるとは
思えんよ
そんなことよりも
自分で1からやってわかんない事ここで聞くか
全部おまかせの業者におんぶにだっこするかの
二択じゃね? >>336
asterisk設定メインで飯は食えないと思う。
やれるやつは自分でするし
出来ないやつは既存のサービス使ってるだけだし >>336
おすすめはランサーズやクラウドワークスで募集するといいと思うよ。
仕事をする方もお客さんを選ぶわけだから、ここで投げかけられても、そのお客さんがどんな人か分からないからさ。 どこかのベンダーさんに依頼したとしても、ベンダーさんが大きくマージンを取って、安く外注のAsteriskを扱える人に投げるだけだと思うから、
ランサーズとかに持っていかれるマージンは20%程度だから、発注する方もAsteriskを扱える人にとっても良いと思うよ。 やってみようかなと思うものの、楽天という検証環境の準備に手間と費用がかかるのと、
FreePBXってのが面倒だなぁという印象。
楽天固有の部分はなんとかするとして、FreePBXってconfファイル直接編集しても
いいんでしたっけ? >>342
楽天への接続はAsteriskであればかなり簡単だったよ。
FreePBXは使ったことないから分からん。すまん。 たまーに、力試しで、クラウドソーシングで仕事受けてる >>342
編集画面は有るが
個別編集そんなにいらんのでは?
個別編集して保守性下げなくっても良いと思う KX-TGP600、KX-TGP600NBと末尾にNBをつけて去年に技適とってるんだね
販売してくれないものか 外部から不正アクセスしようとする試みが1分間に10回以上ぐらい起こっている。
実際に電話を使われたというのはないのだけれど、気持ち悪い。
これは何かセキュリティ的にマズイ点がありそう、と考えたがいいのでしょうか?
Fail2Ban、Responsive Firewallは動いている様に見える。 >>347
過去に流出していないユーザー名とパスワードの組み合わせなおかつ、十分複雑で長いパスワードを使ってて、
Fail2banが効いてるようならいいんじゃないの。
それでも気になるならSIPのリッスンポートをデフォルトから変更すれば? >>347
それは普通だけど、fail2banが動いてたらiptablesで落とせばいいのでは ポート5060はもちろん、15060とか25060とか推測しやすいのもやめた方が精神衛生上はいいね
ポート変更したらこの4年でfail2banがBanしたIPはたった1件でした >>351
ほおほお、
ポートを変えたくらいで、人間が一つ一つポートの攻撃をしてるわけじゃないから、効果ないと思ってた。 パンツ履き忘れて気が付かずミニ・スカートで電車乗って疲れて寝入ってる様なものだからね >>354
接続する穴が見えている。か。
上手いな。 無料かつ自動更新可能なサーバ証明書があるのだから、さっさとTLS化してポート番号も変更したら良いと思う。
RTP の暗号化が処理能力的に厳しければ、SIP-TLS/SRTP の組み合わせにせず、SIP-TLS/RTP の組み合わせに設定すれば良いかと。この組み合わせを許さない SIPフォンは少ないんじゃないかな。
うちは TLS化して、自分や家族が契約している M(V)NO の IP帯域で制限をかけたら、Fail2ban に全く引っかからなくなった。
IP帯域制限の設定は面倒だけど、攻撃者を相当絞れて実用上の問題もないので、BLACKLIST だけに頼るよりも、精神衛生上かなり良い。 >>357
いいのぉ
各国からアクセスしない管理は楽で アクロビッツとか、一部のsipフォンは、ウェブアクセスの設定ができるから、ホワイトリストでの、運用も可能だと思う 受付回線と着信番号によっては、着信拒否をする事をしようと思っていました。
exten => 20,1,Answer()
exten => 20,n,Hangup()
では、かけてきた電話は終話するのですが、1秒通話したことになります。
Answerせずに、
exten => 20,n,Hangup()
だけで終話させたいのですが、出来ません。(発信元はずっと呼び出し音)
話し中や使われていませんなど、出せないものでしょうか。 >>361
1にしてるけど、切れないんです。
ソフトバンクケータイから、ひかり電話にかけてる
でも、普通は切れるっていうなら、asterisk11だから、再構築してみようかと思う >>362
ここは Answer せずに Busy で。 アイホンのアナログビデオドアホンを撤去し、ドアホン側を Dahua VTO1201G-P に
置き換えて Asterisk に収容してみた。
今のところ、スマホやタブレットのソフトフォンでモニターしているが、室内モニタ
用にテレビ電話子機を用意すれば、かなりいい感じになりそう。
Agi経由で ffmpeg を起動して録画を開始することはできたが、サーバが RasPi4 では、
処理能力的に無理があるようだ。そろそろ、RasPi4 では限界が見えてきてしまった。 >>365
自分は AliExpress で買ったった。 ドアホンモニタ用のテレビ電話子機として、KX-HDV430N は Asterisk 経由で問題なく使えた。
この機種の惜しいところは、ネットワークカメラビュアとして、同社製品しかサポートしていないことだ。
設定項目が、IPアドレス、ポート番号、ユーザ名、パスワード、ストリ−ム(Stream1 or Stream2) と固定的。
要するに、rtsp://id:pass@xx.xx.xx.xx:554/stream のような自由入力ではないため、融通が利かない。