自分甚のモバむルロヌミング。 モバむルオペレヌタヌからアスタリスク+ドングルぞのGSMゲヌトを䜜成する

出匵や䌑暇で囜際電話や仮想プロバむダヌを䜿甚するこずはあたりありたせんが、めったにこれを気にせず、費甚を気にせずにロヌミングを䜿甚するこずがありたす。
珟地のオペレヌタヌのSIMカヌドを賌入するのにそれほど時間はかからず、Wi-Fiがほがどこにでもある囜には行きたせん。
たたたたプログラムでアスタリスクPBXを知ったので、次の旅行の前に、自分のSIMカヌドをアスタリスクの入ったトランクずしお貌り付け、背埌にある雪に芆われたモスクワに立ち、自分にしがみ぀くのがいかにクヌルかを考えたしたむンタヌネット䞊の顧客。 むンタヌネットがある堎合は自分で電話したくはありたせん。自分の番号に電話をかけたす。これは倚くの連絡先を持぀人にずっお重芁です党員に通知せず、半分は忘れたす-SIMカヌド付きの携垯電話は実際に家にありたす地域。

これはどのように実装されおいたすか

最初に必芁なこずは次のずおりです。


無圢から

-少なくずもLinuxの基本的な知識。 はい、゜ヌスから少し収集する必芁がありたす。
-Linuxぞの実際のIPアドレス、たあ、たたはポヌト転送。 それでも、むンタヌネットのどこかでアスタリスクに参加する必芁がありたす。 プロバむダヌのマスカレヌドの背埌にあるホヌムルヌタヌの背埌に眮いた堎合、たたはホヌムルヌタヌの背埌に眮いた堎合、機胜したせん。
アスタリスクが䜿甚し、転送を行う必芁があるポヌトudp 5000-31000。 これがそのようなプヌル党䜓です。

かなりの材料から

-モバむルプロバむダヌのモデム。 それらのほずんどすべおは、「コヌポレヌトカラヌ」で再塗装されたhuawey 3G Eシリヌズです。 メガホンは、補造元のコヌディングに埓っお正確に呌び出すこずをためらいたせん。 私はこのように刀明したした moscow.megafon.ru/devices/usbModem/e173 これはHuawey 3G E173です。
-Linux䞊のサヌバヌ

必芁な゜フトりェア

-アスタリスク www.asterisk.org/downloads
ディストリビュヌションに任意のバヌゞョンのアスタリスクパッケヌゞがある堎合、゜ヌスからのバヌゞョン11からお知らせしたす-パッケヌゞを入れお、あたり違いはありたせん。
-usb - modeswitch  www.draisberghof.de/usb_modeswitch/#download
䞡方のアヌカむブはwww.draisberghof.de/usb_modeswitch/usb-modeswitch-1.2.5.tar.bz2およびwww.draisberghof.de/usb_modeswitch/usb-modeswitch-data-20121109.tar.bz2です。
ディストリビュヌションにそのようなパッケヌゞがある堎合-パッケヌゞを入れおください
-chan_dongle 該圓する11番目のアスタリスクの堎合はgithub.com/jstasiak/asterisk-chan-dongle/archive/asterisk11.zip 、たたはcode.google.com/p/asterisk-chan-dongle/downloads/listパッケヌゞからアスタリスクを入れるず、以前のバヌゞョンがありたす。 これは同じドラむバヌバヌゞョンであり、パッチが11番目のバヌゞョン甚に統合されおいるもので、11番目のアスタリスクに合わせおカスタマむズされ、䟝存関係が倉曎されおいたす。

だから。


Linuxがあり、ドングルがありたす。
自己組織化コアを持っおいる人のために-それはポむントが必芁です
デバむスドラむバヌ-> USBサポヌト-> USBシリアルコンバヌタヌサポヌト-> USB汎甚シリアルドラむバヌ


1぀を別のスティックに貌り付けお、lsusbを実行したす。
次のような行を芋぀けたす
バス001デバむス004ID 12d1  1446 Huawei Technologies Co.、Ltd.

12d1はベンダヌですhuawey
1446このデバむス私の堎合はE173
しかし、それほど単玔ではありたせん。
これらの非垞にナヌザヌフレンドリヌなモデムは、USBに差し蟌んだ埌、フラッシュドラむブになるように蚭蚈されおいたす。 ドラむバヌのむンストヌルを自動的に開始したす。ドラむバヌは、既にむンストヌルされおいる堎合はむンストヌルたたはスキップされ、その埌デバむスをモデムモヌドに切り替えたす。 非垞に䟿利でナヌザヌ指向。 Windowsの䞋。 私たちのケヌスは同じではなく、このデバむスはフラッシュドラむブモヌドで突き出おいたす。 usb_modeswitchが圹立぀もの。
実行暙準むンストヌル埌./configure && make && make install if source
usb_modeswitch -v 0x12d1 -p 0x1446 -H -s 5 -M 555342430000000000000000000000110600000000000000000000000000000000

12d1ず1446をlsusbの番号ず亀換するこずを忘れないでください
再床lsusbを実行するず、以前ずほが同じように衚瀺されたすが、ドングルの2番目の4桁は異なりたす。
これは、すべおがうたくいったこずを意味し、珟圚、モデムはモデムです。
ここで、USBシリアルドラむバヌカヌネルに関する同じオプションが機胜し、いく぀かのデバむス/ dev / ttyUSB0 / dev / ttyUSB1などが/ devに衚瀺されたす。
これらはモデムぞのむンタヌフェむスであり、サりンド、コントロヌル、モデムに䟝存するものがどれであるかを理解しおいる限りです。

䜜業の3分の1が完了したした。セルラヌネットワヌクぞのデゞタルむンタヌフェむスがあり、アスタリスクを䜿甚したす。


そのむンストヌルに぀いおは説明したせんが、むンストヌルされおいるず仮定したす構成されず、むンストヌルされたばかりです。 ゜ヌスからの堎合、その埌は良奜です。 パッケヌゞが必芁な堎合は、chan_モゞュヌルを収集するため、-devも必芁です。

぀たり、たさにchan_dongleです。
すべおが暙準、アンパック、。/ configure && make && make install
ファむルetc / dongle.confを/ etc / asteriskにコピヌしたす/

蚭定なしでアスタリスクを盎接起動したす。
アスタリスク-rvを起動するず、コン゜ヌルが衚瀺されたす。
モゞュヌルロヌドchan_dongle.soを蚘述したす。
モゞュヌルがロヌドされ、ほずんどの堎合、䜕かに぀いお誓うようになりたす。
ただし、ドングルコマンドを実行するず、show devicesは次のように衚瀺されたす。

IDグルヌプ状態RSSIモヌドサブモヌドプロバむダヌ名モデルファヌムりェアIMEI IMSI番号
dc_4823_7851 0無料11 0 0 MegaFon RUS E173 11.126.15.00.209 xxxxxxxxxxxxxxxx xxxxxxxxxxxxxxx xxxxxxxxxxx

出かける

ファむル/etc/asterisk/dongle.confを線集するために開き、デバむスが蚘述されおいる䞀番䞋で[dongle0]
ドングルショヌデバむスによっお衚瀺されるラむンからモデムのimeiを入力するimeiラむンを陀くすべおをコメントしたす。
そしお远加
[ドングル0]
imei = xxxxxxxxxxxxxxxx
context = dongle-incoming; コンテキスト
グルヌプ= 0
rxgain = 3; ボリュヌムアップ
txgain = 3; ボリュヌムアップ
resetdongle = yes; 初期化䞭にカヌドを砎棄する
u2diag = -1
usecallingpres = yes
callingpres = allowed_pa​​ssed_screen

これで、chan_dongleモゞュヌルを/etc/asterisk/modules.confに次の行ずしお蚘述できたす。load=> chan_dongle.so
アスタリスクを開始するずきに揺れるように。
アスタリスクを再起動したす。
珟圚、正しいimeiによれば、chan_dongle自䜓がすべおを正しく怜出する必芁がありたす。どのデバむスがコマンドであり、どのオヌディオなどであるかなどです。
アスタリスク-rvを起動し、ドングルショヌデバむスを実行するず、モデムが衚瀺されたす。 すべおが順調です。

次に、アスタリスクを蚭定したす。


必芁なのはsip.confファむルずextensions.confファむルだけです
sip.confから始めたしょう
[general]セクションを芋぀けお远加したす。
[䞀般]
externip = x.x.x.x; アスタリスクの倖郚IPアドレス。それがゲヌトであるか、ポヌトを転送するものであるかは関係ありたせん。これは倖郚IPアドレスであり、そのアドレスはアスタリスクに行くパケットであり、それらは
externaddr = x.x.x.x; 同じこず
localnet = 192.168.0.0 / 255.255.0.0; アスタリスクが内郚を考慮し、圌女のための仮面舞螏䌚で耇雑なダンスを手配しないネットワヌク
nat = force_rport、コメディア; アスタリスクがnatの背埌にあり、ポヌトがそこにスロヌされおいる堎合に必芁な動䜜モヌド
コンテキスト=パブリック; 呌び出しのデフォルトのコンテキスト。 デフォルトですべおのコヌルがどこにも到達しないように、コヌルプランが完党に定矩されないコンテキストがあるこずが重芁です。 むンタヌネットには、昌倜を問わずアスタリスクが調敎されおいないものをスキャンしお、無料で呌び出すボットがたくさんありたす
allowguest = no; 誰からも電話を受けないでください。

デフォルトの蚭定は終了したした。1぀のクラむアント゜フトフォンを蚘述する同じファむルになりたした。
[私]
タむプ=友人
ホスト=動的
秘密= パスワヌド
コンテキスト=デフォルト
canreinvite =はい
dtmfmode = rfc2833
蚱可= 0.0.0.0 / 0.0.0.0
資栌=はい

me-これはログむンになり、蚭定するパスワヌドは明確です。

sip.confを䜜成したす。 それだけです

extensions.confを開く-これは通話プランであり、通話の転送先ず転送方法の説明です。

必芁なのは、2぀のコンテキストを蚘述するこずです。[ドングル着信]-モデムに着信するコヌルの凊理ず[デフォルト]-゜フトりェアから着信するコヌルの凊理。 電話。
簡単なものから始めたす。
[デフォルト]
exten => _7X。、1、DialDongle / dongle0 / holdother+ $ {FILTER0-9、$ {EXTEN}}
exten => _ + 7X。、1、DialDongle / dongle0 / holdother+ $ {FILTER0-9、$ {EXTEN}}
exten => _8X。、1、DialDongle / dongle0 / holdother+ 7 $ {FILTER0-9、$ {EXTEN1}}
exten => _007X。、1、DialDongle / dongle0 / holdother+ 7 $ {FILTER0-9、$ {EXTEN3}}
exten => h、1、ハングアップ


これらは実際には同じこずを行う4行であり、宛先電話が7桁のパタヌンに䞀臎する堎合は1行目、+ 7桁の堎合は2行目、3番目の8桁および4 007桁のみです倚くの゜フト電話では、「+」を「00」ずしお送信するオプションがありたす
各行は同じこずを行いたす-呌び出しを+ 7桁の圢匏でドングル0チャネルモデムに転送したす。
さお、最埌の行は「電話を切る」むベントで呌び出され、電話を切るだけです。 しかし、あなたはそれを曞くこずさえできたせん。これは圢匏的なこずです。

これがどのように機胜するかを理解しやすくするために、meアカりントのアスタリスクに登録された電話からの着信コヌルは、[me]のコンテキストオプションで瀺されるように[default]コンテキストで凊理されたす。 [デフォルト]のコンテキストでは、宛先番号がテンプレヌトに察しおチェックされ、テンプレヌトのいずれかに該圓する堎合、アクション「DialDongle ...」が実行されたす。 ちなみに、宛先番号がテンプレヌトに該圓しない堎合、どこにルヌティングされおいるかわからないため、コヌルはドロップされたす。興味がある堎合は、+ 4 ...などの堎所にコヌルしおみおください。 たた、電話詐欺から身を守る方法はありたせんが、圌らが䜕らかの圢で通り抜けおもりガンダに電話するこずはありたせん。

次に、携垯電話番号に着信するコヌルのコンテキスト[ドングル着信]
[ドングル着信SMS]
exten => sms、1、Noop$ {CALLERIDnum} $ {BASE64_DECODE$ {SMS_BASE64}}からの着信SMS
exten => sms、n、Systemecho '$ {STRFTIME$ {EPOCH} ,,Y-m-dHMS}-$ {DONGLENAME}-$ {CALLERIDnum }$ {BASE64_DECODE$ {SMS_BASE64}} '>> /var/log/asterisk/sms.txt
exten => sms、n、Hangup

[ドングル着信-ussd]
exten => ussd、1、Noop着信USSD$ {BASE64_DECODE$ {USSD_BASE64}}
exten => ussd、n、Systemecho '$ {STRFTIME$ {EPOCH} ,,Y-m-dHMS}-$ {DONGLENAME}$ {BASE64_DECODE$ {USSD_BASE64}} '>> /var/log/asterisk/ussd.txt
exten => ussd、n、ハングアップ

[ドングル着信]
include => dongle-incoming-sms
include => dongle-incoming-ussd

exten => _X。、1、ダむダルSIP / me
exten => h、1、ハングアップ


ここではただ簡単です-着信コヌルはすべお、クラむアント[me]ぞのコヌルずしお送信されたす。
include => dongle-incoming-smsずしお含たれる䞊の2぀のセクションは、それぞれsmsずussdを受け入れ、プレヌンテキストファむル/var/log/asterisk/sms.txtおよび/var/log/asterisk/ussd.txtに曞き蟌みたす。次に読み取りたすUTF-8゚ンコヌド。

゚ピロヌグ


簡単に説明したす。 しかし、これは非垞に基瀎にすぎたせん。誰かが本圓にどうすればいいか、自分でうたくいかない堎合結局、これをすべお繰り返すこずができる人は、指瀺なしですべおを自分で行うこずができ、ここですべおを補足するこずさえできたす十分ではありたせん、このトピックの開発を続けるこずができたす-SMSを蚭定しお、通話ず同様に゜フトクラむアントに送受信する方法。 SIPクラむアントが接続されおいない堎合、たたは発信者がボむスメヌルに接続したずきに番号がビゞヌになるようにダむダルプランを倉曎する方法。

PS。 わずか1日のセットアップの結果、私は自分の電話番号を海倖で取埗したした。この電話番号では、出かける前に200ルヌブルのお金を費やすこずができたせんでした。 ディヌれル機関車の炉のようにお金を投げるこずができるロヌミングで䜿甚する比類のない経隓。

PPS 譊告、免責事項受け取った情報
「事実は、すべおのモバむル事業者がゲヌトりェむの䜿甚を明瀺的に犁止しおいるこずです。 MTSコミュニケヌションサヌビスの条件は次のずおりです。
static.mts.ru/uploadmsk/contents/1656/uslovia_msk_06042012.pdf

条項1.3ネットワヌクにアクセスするためのゲヌトりェむをむンストヌルするために、オペレヌタヌずの远加の曞面による同意がない限り、サブスクラむバヌはMTS通信サヌビスを䜿甚できたせん。
電気通信およびむンタヌネット電話...

他のモバむル事業者の状況にも同じ点が存圚したす。これは、ロヌミングのマヌゞンがスケヌル倖であり、事業者がそのような利益を拒吊しないためです。 そのようなゲヌトりェむを䜿甚するために、圌らは単にSIMカヌドをブロックするこずができたす。

Source: https://habr.com/ru/post/J160299/


All Articles