アスタリスク、または(プロ)上級ユーザー向けのホームテレフォニー

この話は2年前に始まりました。アメリカへの出張中に、私は突然モバイル通信なしで放置されました。旅行前に電話をバカに変えたところ、彼は「デュアルバンド」であることが判明しました...はい、ローミングは安くありません...

その結果、SIPテレフォニーが発見されました。



数か月前、Habréの記事から、インターネットを介して故郷のどこかから電話をかける必要がある場合、他の人の叔父に長距離の支払いができないことがわかりました。 VoIPサーバーをインストールし、必要に応じて構成するだけで十分です。



そして、アスタリスクを拾って、私はOpSoSovの過度の貪欲と戦うための作戦を始めました...







ご注意







はじめに



ubuntu(10.04)には2コアサーバーがあり、原則としてファイルアーカイブの役割を果たしますが、実際にはほとんどの場合アイドル状態です。

電話での会話で私の人生を簡素化することが必要でした。

特に、次のタスクが設定されました。



一連のタスクを概説しました-このビジネスのためのハードウェアの購入に進みます。



ハードウェア



D-Link DVG-7111S-GTS-VoIPアダプター


画像

私はそれを比較的「安い」価格で選びました-モスクワでは2,152から2,610ルーブルの費用がかかります。これはリンカスよりも少し安いですが、これも見つける必要があります。

実際、アスタリスクに接続する市の回線と電話から2つのSIPクライアントを作成します。

このような設定を行います



1つの微妙な点がCallerIDに関連付けられています。正しく送信するには、アダプターが番号を判別できるように、1つの呼び出しをスキップする必要があります。

ホットライン-> FXOピックアップ前の呼び出し回数= 1



必要に応じて、ファームウェアを更新できますが、ルーターや他のDLinkovskieデバイスとは異なり、ここではかなり異常なプロセスです...



アダプタがビジー信号の定義を欺くことがあります。 これを行うには、これらの信号の持続時間を設定する必要があります。 それらを入手する方法についての指示はありますが、私はまだ自分でそれをやっていません-交換に機器を変更した後、この問題が始まったのは2日目です。



アスタリスクから固定電話番号に電話をかけるには、ダイヤルインダイヤルプランに次の形式を使用します。

ダイヤル(SIP / FXOチャンネル番号/電話)

ハンドセットを呼び出すには:

ダイヤル(SIP / FXSチャンネル番号)



MGTSの狂気で生活を簡素化するために、すべてのモスクワの番号を同じ「8コード7桁」でダイヤルできるようにしました。サーバーはダイヤルルールを見つけます。



以下に2つの構成オプションを示します。 最初のオプションは495コードの番号を持つ人向けで、2番目のオプションは499番です。両方のオプションを使用して、495コードと499の両方の電話を呼び出すことができます。



495コードの数字の場合

; 495 -

exten => _8495XXXXXXX,1,Dial(SIP/701/${EXTEN:4})

exten => _8495XXXXXXX,n,Hangup()

; 499 -

exten => _8499XXXXXXX,1,Dial(SIP/701/${EXTEN:0}) ; - 499 , , - -, 8...

exten => _8499XXXXXXX,n,Hangup()







499コードの数字の場合

; 495 - ""

exten => _8495XXXXXXX,1,Dial(SIP/701/${EXTEN:0})

exten => _8495XXXXXXX,n,Hangup()

; 499 - ""

exten => _8499XXXXXXX,1,Dial(SIP/701/${EXTEN:1})

exten => _8499XXXXXXX,n,Hangup()









電話番号


最初は、アダプターのFXSポートに接続されたPanasonicハンドセットを電話として使用しましたが、すぐに幻滅しました。そのぎこちないディスプレイはデジタルCallerIDのみに対応していました。 したがって、 シーメンスギガセットC470 IP +は、 シーメンスギガセットC47Hのために追加のハンドセットを購入しました。

画像

私はそれらのために5000をレイアウトし、それを後悔していません:ユニットの主な魅力は、6つのハンドセット(メイン+ 5追加)との同時作業をサポートすることです。

「そして、ポイントは何ですか? 一行しかない!」とあなたは言います...あなたは根本的に間違っているでしょう!

6つのハンドセットに加えて、ベースステーションは6つのsipアカウントもサポートします! それぞれをパイプに取り付けることができます!!!

つまり -あなたがアパートの各部屋にラジオチューブを置くと、それは簡単に同時に話すことができる完全に異なるSIPユーザーになります!



チューニングに関するいくつかの言葉:

彼らが指示で言うことは何でも-電話でのアドレスの動的な割り当ては発生しません。 したがって、無線ハンドセットからベースのボタンを押して正しいものを駆動するための2つのオプションがあります。現在のオプションを決定し、ネットワークを設定します。

PINコードはハンドセットからのみ変更できます。Webパネルにはそのようなアイテムはありません。そのため、一部のスレッドが巧妙なハッカーになるまですぐに変更することをお勧めします。



GSMアダプター


それから私は抵抗が最も少ない道を取り、MTSモデムHuawei E1550を購入しました。

MTSを選ぶ理由

まず、770ルーブルですが、「ロックされていない」場合は1,500ルーブルではありません

次に、BiとMegaには音声機能があります。

3番目に、AuchanovのA-Mobile料金表用のモデムが必要でした。MTSネットワークで再フラッシュする必要はありませんでした。

誰も知らない-A-Mobileを使用すると、別のA-Mobileに1日15分間無料で電話をかけることができます。その後、1分あたり90セントの名目料金がかかります。 ホームネットワークへのバックアップチャネルとして必要でしたが、関税であるIMHOが最も快適でした。

デバイス設定は退屈ですが、複雑なことはありません。



+今、 Angel2S2からHabrapostからメッセージを受け取りました:

「ちなみに、Huaweiモデムのロックを解除することについて...もし興味があれば、私を見てください-angel2s2.blogspot.com/2010/07/huawei.html 。 E160GとE1550のロックをメガホンから解除して支払います。また、電話することもできます:)„

MBは誰かを助けます!



Uchkuduk 2つのモデム...


いくつかの単語を追加します...

AlloIncognitoで受信するために2番目のモデムをシステムに装着すると、彼が最も多く来ました...まあ、誰が:サーカスの曲芸師よりもモデム自体の方が場所を変えました! 1つを切断するとき、2つ目はそのポートなどに移動するために努力しました。 など



そして以来 それらのダイヤルプレーンは根本的に異なります-何らかの形で解決する必要がありました...

Linuxの決定は十分に根拠があります。ポートに固定の「リンク」を割り当てることができます!

つまり -モデム1用に設定-ポートはttyUSB1と2ではなく、hv0とhi0(HuaweiVoiceとHuaweiInfo)です!

どうやって?

両方のモデムをコンピューターから切断し、最初のモデムを挿入します。

ターミナルのルートからdmesgコマンドを実行します

それに応じて、すべての束が抜け落ちますが、最後に-大切な行:

[291015.913221] option 1-2:1.0: GSM modem (1-port) converter detected

[291015.913364] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB0

[291015.913926] option 1-2:1.1: GSM modem (1-port) converter detected

[291015.914026] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB1

[291015.916678] option 1-2:1.2: GSM modem (1-port) converter detected

[291015.916812] usb 1-2: GSM modem (1-port) converter now attached to ttyUSB2






「誰が胡」:

オプションの後にポート識別子が続きます。

1-2-最初のUSBホスト、2番目のデバイス

:1.1-このデバイスの最初のポート。

次の行では-これがどのポートになったかというトピックに関するinfaが内部になりました。

前回と最後に興味があります-この場合は1と2です。

1-音声用ポート、2-データ用。

次に、ルートの下にある/etc/udev/rules.d/huawei.rulesファイルを編集用に開きます。ここでは、システム内のすべてのHuaweiデバイスのルールが記述されています。 ほとんどの場合、空です。

私たちは次のように走ります:

KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.1", NAME="%k", SYMLINK+="hv0", GROUP="root", MODE="0666"

KERNEL=="ttyUSB[0-9]*", ID=="1-2:1.2", NAME="%k", SYMLINK+="hi0", GROUP="root", MODE="0666"






「この特定のポート上のすべてのデバイスは、今後hv0とも呼ばれ、これについてはhi0! アーメンを救え!」

2番目のモデムの固定から始めてプロセスを繰り返します-ファイルにはさらに2行が表示されます。2行目のモデムとhv1とhi1からのポートが既にあります。3番目のモデムと100分の5を追加できます...



モデムを引き出して挿入したら、コマンドls -1 / dev / hv *またはls -1 / dev / hi *-常に正しいデバイスを指定することで、主なことはコンピューターのコネクターを混同しないことです!



/etc/asterisk/datacard.confも変更されています-フェースレスではなく

audio=/dev/ttyUSB1 ; tty for audio connection

data=/dev/ttyUSB2 ; tty for AT commands







登場

audio=/dev/hv0 ; tty for audio connection

data=/dev/hi0 ; tty for AT commands







これで、アスタリスクを再起動して、問題がなくなりました。これ以上混乱することはありません。

今のところ、これですべてです。



SIPオペレーター



原則として、既存の機器では、すでに都市+モバイル回線がありますが、追加の機会が欲しいので、長距離都市間で何らかの形で電話をかける必要があります!



マルチフォン


Multifonは、モスクワメガホンのサービスです。 秘trickは、これが単なるインターネット電話ではないということです! これは、メガホン番号に関連付けられたインターネット電話です!

ロシア語に翻訳:誰かがあなたの番号に電話をかけた場合、適切に設定されていれば携帯電話とSIPクライアントの両方が機能します!

この場合のAsteriskの構成はHabré非常によく説明されていますが、FEW Multifonovをサーバーに接続する方法についてのみ説明を追加できます。

UPD。 アスタリスクで設定するためのMultifonのネイティブ命令



すべてのSIPオペレーターの共通点に関する2、3の言葉:一部のSIPアカウントからのみ呼び出す場合は、登録は必要ありませんが、受け入れる場合は...

ちなみに、このような猛烈な構文で登録するのはMegafon専用です:残りはより標準的なものです...



ユーロフォン


EurosetのSIPテレフォニーサービス。 さらに、ロシアの都市の大部分は49コペックの割合です。 モスクワには着信番号があり、多くの都市があるため、ユーロフォンで番号+番号を運転するのが面倒でない場合は、そこから着信番号を受け入れることができます...

潜在的に-着信都市を特に必要としないが、あまり電話をかけない場合-MGTSからの毎月の155ルーブルよりも収益性が高い場合があります。



登録するには、Eurosetからテレフォニーカードを購入する必要があります。 ログインパスワード-カードに記載されます。将来、このアカウントを補充できます。 カードなしの登録-単にいいえ。



pctel.ru


すべてのロシアの番号への呼び出し-毎分ルーブルで。

私はそれをユーロフォンの「補足」として受け止めました。携帯電話への通話は安くなりましたが、マルチフォンでの発信通話の1.5ルーブルについては黙っています。 番号を非表示にする場合-それだけです。



サイプネット


特別なことはありませんが、多くの人がそれを好みます。



DID、または直接電話番号



このサービスは、国のいずれかの都市で電話番号を取得し、アスタリスクを介してこの番号への呼び出しを受信できるという事実に基づいています。

プラスは、頻繁に移動する場合、常に番号を維持できることです。マイナス-MGTSの月あたり155ルーブルとは異なり、オペレーターからのモスクワ番号の価格は約250ルーブルから始まります。 (比較のために、米国の数は月額約3.5ドルかかります)。



Go2baza


それを使用した人々によると、直接モスクワの数は月あたり250ルーブルの費用がかかります。 関税が明確に定義されいないため、確認も拒否もできません...およそ-番号については月額250、プラス番号の割り当てについては最初の支払い-499については500ルーブル、495については3000ルーブル...ここで499ですべてをプッシュしますか?!

プラス面には、最大5つの着信チャネルを提供するという事実があります。電話番号にリダイレクトする場合にのみ、SIPでは2つだけです(4月に過負荷になりました)。 しかし、電話へのリダイレクトは有料ですが、SIPで-景品です!

それでは、2チャンネルの電話番号-私見、とても良い! 頻繁に、もっと!



「個人の電話番号」または「常にあなたと一緒にいる番号」


MGTSovskayaのゴミ。 実際、SIP経由のモスクワ番号。 時間ベースのバージョンには月額料金はありません; 1分あたりの価格は同じ36コペックです。 接続-8340ルーブルと、私が話したのと同じSiemens 470がキットに含まれています。



スポンジが出ましたか? 景品? かっこいい

リップシール機をキャッチ:MGTS ADSLを介してのみ動作します! サポートで説明されているように、これは自宅で2番目の電話番号を整理するためだけのものです。

潜在的に-あなたは明らかにそれをアスタリスクに盗むことができますが、私はメインラインに接続されたそのような電話を何も必要とせず、インターネットでこのサービスの幸せな所有者を見つけることができませんでした。

あることに注意してください、そして、家で定期的に誰かが電話に掛かっているなら、あなたはそれを接続してバックアップ回線を得ることができます...



gtalk2voip


さまざまな国の直接番号。

ばかげた登録:

1. gtalk2voip移動します。コーナーには、e-soapを入力するためのフィールドがあります。 Googleの石鹸を入力してください。

2. GoogleアカウントでJabberに接続すると、ユーザーservice@gtalk2voip.comからの招待が表示されます。 「会話」に接続する

3.次に、このボットを使用して、MYPAGEチームは、番号を登録して残高を補充できるページを受け取ります。



イプコール


「印刷できない」名前の会社は、米国の無料の電話番号にSIPへのリダイレクトを提供します。 必要ない場合は、登録で占有する必要はありません。突然、誰かがそれを必要とし、すべてがHabraエフェクトになります!

このサービスに関して、私はヒキガエルとの永遠のスキャンダルを持っています:

-S! かっこいい! 米国では無料番号! わあ、わあ!

-なんで? -現実主義者に尋ねる。 -誰がアメリカのスレッドを呼び出しますか?!

-それが彼らが電話しない理由です! 欲しい、欲しい、欲しい!

-英語を学びたい、ウィッシュリスト! 彼らは電話します、そしてあなたは何と言いますか?!

-現代は? Au Wiederzane? なんて! 私のようなそのような布は何も言わないでしょうか?! ハ!

-とにかく-今は意味がありません!

-そして何? ハルヤアアアヴァ!



アロインコグニート:「パーフェクト499」


理想的な499 、Alyokognitoからの料金プラン、499の月額料金なし...含まれるのは、メガホンからのSIMカードです。

リンクbdmalexを投げました 。 彼によると、それは長い間使用されており、実際には購読料はなく、私の理解を超えて、着信を携帯電話番号に再転送するための支払いはありません!!!



アスタリスクダイヤルプランチップ



鉄とオペレーターで、どういうわけか理解しました...

次に、アスタリスクに関連するいくつかのトリック:



ブラックリスト


時々、私は本当に誰かがスレッドを呼び出すのを止めたいと思っています:元カノ、バカ、いつも数字と間違えられている、広告代理店、世論調査など など

このため、アスタリスクにはBLACKLIST()コマンドがあります。 実際、データベース内のリストを使用してCallerIDをチェックし、1を返した場合、呼び出し元を安全に地獄に送ることができます!

「シンプル」バージョンについてはこちら読むことができますが、私は自分の人生を少し楽にしたかったのです。識別子の番号を見るのが面倒で、その後「必要に応じて」運転することができます!

アスタリスクに自分でやらせてください!



Dialplanでは、正しいコンテキストから呼び出す場合、次のように記述します(MGTSから呼び出す場合、123にリダイレクトします-持っているものに置き換えてください!)。

exten => 123,n,Set(_From=${CALLERID(name)}) ; name, num , CallerID !

exten => 123,n,GotoIf($[${BLACKLIST()}=1]?banned) ; - - - banned

exten => 123,n,Set(DB(ToMe/LastCaller)=${From}) ;

.....

; .

.....

exten => 123,n,Hangup()



; !

exten => 123,n(banned),Answer()

exten => 123,n,Playback(, )

exten => 123,n,Hangup()








そして、電話のダイヤルプランで:

; 20 -

exten => 20,1,Set(tmp=${DB(ToMe/LastCaller)})

exten => 20,n,Set(DB(blacklist/${tmp})=1)









今、スパマーの呼び出しの後に電話を取り、「20」をダイヤルすると、禁止されたもののリストに追加されます!

番号をきれいにする方法-上記の手順に示されています。



短縮ダイヤル


私たち全員は、私たちがより頻繁に呼ぶ数字を持っています:親relative、職場の同僚、知人...

毎回10個の数字を運転するのは面倒です! したがって、PBXでノートブックを直接作成できます。

電話のダイヤルプランで:

exten => 1,1,Dial(SIP/701/8495......) ;

exten => 2,1,Dial(SIP/701/8495......) ;

exten => 3,1,Dial(SIP/701/8495......) ;

exten => 4,1,Dial(SIP/701/8499......) ;







等 など



実際、私はそれを音声メニューにしたかったのですが、ハンドセットを取り外しても、何らかの理由で番号「s」を処理することはできません。だから、襟に「誰」と書くことができます。

私の場合のように、いくつかのハンドセットを購入した場合、それぞれが独自の「短い番号」を持つ独自のコンテキストを持つことができます。部屋の電話では、両親は私の友人を必要としませんが...



時刻からの挨拶


ATSkaに少し「人間性」を追加して、時刻(および必要に応じて-曜日、月など)に応じて異なる挨拶をすることができます。 たとえば、朝はあくびで発信者に挨拶でき、夜は普通の人がすべて寝ているときに電話をかける人について考えていることをすべて話すことができます。



;

exten => 1200,1,Background(hello_utro) ; ""

exten => 1200,n,Goto(123,naberite) ;



exten => 1201,1,Background(hello_den) ; ""

exten => 1201,n,Goto(123,naberite) ;



exten => 1202,1,Background(hello_vecher) ; ""

exten => 1202,n,Goto(123,naberite) ;



exten => 123,1,Verbose(" ")

exten => 123,n,Answer() ;

exten => 123,n,GotoIfTime(07:00-12:00|*|*|*?1200,1) ; 7 12

exten => 123,n,GotoIfTime(12:01-19:00|*|*|*?1201,1) ; - 12 19

exten => 123,n,GotoIfTime(19:01-22:00|*|*|*?1202,1) ; - 19 22

exten => 123,n,Background(hello_noch) ; - : ""



exten => 123,n(naberite),Verbose(" ") ; ...

...








アンチボット


左翼の人々があなたに「マーシャ、サーシャ、ダーシャ」、またはバラコバムさえ尋ねるとよく言ったら、次の例はあなたのものです!

一般的な考えは、あなたが答えると、「こんにちは、あなたはアパートに電話しました。 これがイワノフのアパートであることが確かな場合-ペトロフなら2、シドロフなら3を押してください! 適切な名前がない場合、または組織に電話する場合は、電話を切ってください。あなたは正しい場所にいません!

マイナス-また、「電話代を支払うのを忘れたため、すぐに切断します!」などの「有用な」ボットもまとめます。しかし、ここまたは...



exten => 123,n,Answer()

...

exten => 123,n(naberite),Background(familie) ;

exten => 123,n,WaitExten() ;



exten => 1,1,Goto(normal,s,1) ; 1 - , ! 1 2, 3 . "normal" - , .



exten => i,1,Playback(invalid) ; —

exten => i,n,Hangup() ;



exten => t,1,Playback(bay) ; -

exten => t,n,Hangup() ;









トリッキーなコールバック


携帯電話に2枚のSIMカードがあります。1つは通話用、もう1つはPBXとの通信用のA-Mobaylovskayaです。

問題は、間違って何度も間違ったSIMカードから電話をかけたことです。もちろん、2.40はお金ではありませんが、デバッグしてサーバーを定期的に呼び出すときは不快です!

これに関連して、 コールバックスクリプトを必要に応じてわずかに変更しまし



[incoming_mobile]

;

exten => s,1,GotoIf($["${CALLERID(num)}" = "+7916......."]?allow) ; - - !

exten => s,n,GotoIf($["${CALLERID(num)}" = "+7926........"]?callback) ; - !

exten => s,n(reject),Hangup() ; - , !

exten => s,n(allow),Verbose(" -")

exten => s,n,Goto (incoming_mobile,200,1) ;

exten => s,n,Hangup()

exten => s,n(callback),Verbose(" - !")

exten => s,n,System(/etc/asterisk/scripts/callback)

exten => s,n,Hangup()



exten => 200,1, .... ; , , , .

.....



exten => 601,1,Dial(Datacard/g1/+7916....) ; -

exten => 601,n,Hangup()









そして、これは/ etc /アスタリスク/スクリプト/コールバックです-実行する権利を与えることを忘れないでください:半時間、なぜそれが機能しなかったのか理解できませんでした!

#!/bin/sh

sleep 10

echo "Channel: Local/601@incoming_mobile

MaxRetries: 1

RetryTime: 10

WaitTime: 20

Context: incoming_mobile

Extension: 200

Priority: 1

AlwaysDelete: Yes" >/var/spool/asterisk/tmp/tst.call

mv /var/spool/asterisk/tmp/tst.call /var/spool/asterisk/outgoing/tst.call








「私は家にすべてを持っていません!」または「私は家にいます!」


このフラグメントは非常に初歩的であるため、拡張機能自体よりも必要な理由を説明するのに時間がかかります。

それで、あなたはビジネスのどこかに行き、携帯電話をポケットに入れ、都市の反対側にそれをとかし、突然誰かがあなたに家に電話することに決めました! さらに、「あなたの電話は私たちにとって重要」ですが、あなたは答えることができません...またはあなたはできますか?

; DID

...

exten => 123,n,Dial("sip/702",10) ; 10 - ...

exten => 123,n,Verbose(" - , !")

exten => 123,n,Dial("sip/702"&"Datacard/g1/+7916....",20) ; ...

exten => 123,n,Hangup()









2番目の作品は、Multifonの所有者にとって興味深いものです。

私と多くの知人は、「病気」を抱えています。ズボンのポケットやバッグに携帯電話を忘れて、この「収納」をクローゼットに詰めてください。その結果、電話の息苦しさはほとんど聞こえず、電話が重要になるかもしれません!!!

これに対抗するために、私は自分の部屋の電波管をMegaphone-Multifonに平行にしました。

2.5行でバカになります:

exten => 7926.......,1,Verbose(" !")

exten => 7926.......,n,Dial("SIP/702")

exten => 7926.......,n,Hangup()









保護



ホームWeb FTPサーバーとは異なり、ホームPBXは幸福にかなり深刻な脅威をもたらします。悪い大根、電話ネットワークへのアクセスは、街中で長々と話すことができるため、Beelineの旅行者への通信料は50万ドルです。ペニーのようです!

アスタリスクの保護に関する記事を読むことをお勧めします。 キューバの流行についてのHabréのメモ...

さて、簡単なヒント:

1.市の回線からの通話が市の番号にのみ送信される場合-内線レベルで他の番号のダイヤルをブロックします。

2.都市間に入るには、都市間用に別のコンテキストを作成し、「パスワード」を入力します-入力する必要がある番号。

3.ローカル電話のアカウントの場合-SIPの電話とアダプタはほとんどの場合固定IPを設定できるため、最悪の場合、各「ロケール」の固定IPアドレスに対してsip.confを駆動します-ローカルサブグリッド。



おわりに



これは、アスタリスクでできることのほんの一部です。 まだ思い出せない-外出先で眠りに落ちる。

これはすべて、必要に応じて、読者が補足および修正できます。コメントに希望を書いてください。



文学



オアライリー、アスタリスク:テレフォニーの未来-Must Have! 聖書!

アスタリスクとLinux-IPテレフォニーミッション、パート1

アスタリスクとLinux-IPテレフォニーミッション、パート2

アスタリスクとLinux-IPテレフォニーミッション、パート3

星でお金を稼ぐ

アスタリスクの音声メニュー



PS「ボーボーの頭、白亜の口の中に…」-私は寝て、これらすべてを保護することについてさらに追加します。NATに関するいくつかの言葉と他のいくつかの例。



PPSダイヤルプランのいくつかの場所は「生きている人によって切り取られる」-それはわずかに誤動作する可能性があります。



All Articles