Bagaimana cara berhenti membayar untuk roaming, atau Dengan satu nomor di seluruh dunia

Gagasan tentang materi ini datang kepada saya tahun lalu, ketika, setelah membuat lingkaran besar pada kami yang sangat besar, pada akhir bulan saya menerima tagihan untuk roaming. Meskipun ada jaminan dari perusahaan seluler tentang roaming gratis di dalam negeri, SMS atau lalu lintas Internet dapat dikenai biaya secara terpisah. Dan risalah yang termasuk dalam tarif hanya berlaku di "wilayah asal". Nah, sejak tahun ini rencana termasuk bepergian tidak hanya di negara asal saya, saya mulai menyadari ide saya - pertukaran telepon stasioner saya sendiri di rumah, yang akan dapat menghubungi saya di mana saja di dunia.
Sepanjang jalan, saya memecahkan masalah komunikasi telepon antara apartemen dan rumah kerabat, karena waktu negosiasi internal dihitung tidak hanya dengan jam, tetapi oleh puluhan jam.
Spoiler kecil: sebagai hasilnya, saya berhasil menginstal Asterisk di NAS dan router



Jadi saya sampai pada kesimpulan bahwa saya membutuhkan telepon saya sendiri. Seseorang dapat memilih salah satu layanan telepon SIP yang hadir dalam jumlah besar di pasar. Tapi saya punya daftar persyaratan yang tidak satupun operator penuhi:

  • Pilihan independen nomor internal
  • Akses ke jalur komunikasi eksternal dengan kemungkinan panggilan ke nomor telepon rumah dan seluler
  • Kemungkinan untuk memilih operator yang menyediakan IP-telephony
  • Kemampuan untuk menggunakan kartu SIM dari operator yang dipilih dengan tarif "telepon" biasa
  • Keberadaan menu suara untuk penerusan panggilan masuk ke pelanggan yang diperlukan
  • Minimum atau nol biaya servis \ mempertahankan komunikasi internal

Banyak operator menyediakan pertukaran telepon virtual dan bahkan menu suara. Tetapi layanan ini sudah dibayar. Beberapa operator mengizinkan panggilan dalam jaringan mereka secara gratis, tetapi ada masalah dengan memanggil nomor yang panjang. Dan tentu saja tidak ada yang memungkinkan Anda untuk menggunakan kartu SIM dari operator yang dipilih dengan biaya panggilan minimum atau menit prabayar. Jadi saya memutuskan untuk menjadi operator telekomunikasi sendiri.

Langkah pertama. Pilihan Platform: Virtualisasi

Karena saya sudah berurusan dengan IP-telephony, diputuskan untuk menaikkan PBX berbasis Asterisk saya - gratis, ada banyak forum, manual dan ... mengapa tidak? Saya mendapat beberapa handset dengan dukungan SIP dan mulai berpikir tentang platform untuk bekerja Asterisk. Untuk meletakkannya di awan atau di server virtual, ini berarti bahwa cepat atau lambat Anda harus membayar, tetapi kemudian gagasan membuat telepon untuk runtuh gratis. Oleh karena itu, saya memutuskan untuk menggunakan fungsi virtualisasi pada QNAP TS-451 NAS saya. Saya sudah menulis tentang chip drive jaringan ini, sehingga Anda dapat membaca lebih lanjut . Performa sistem sudah cukup tidak hanya untuk pekerjaan Asterisk itu sendiri, tetapi juga untuk antarmuka web, jadi saya memutuskan untuk menggunakan distribusi Elastix. Saya harus mengatakan bahwa distribusi terakhir yang tersedia di situs web resmi Elastix.org di nomor 5 sudah shareware, jadi saya sarankan mencari torrent versi 4 pada torrent - itu gratis dan didistribusikan secara bebas, tetapi sekarang tidak tersedia di situs.

Pembuatan pengguna di Elastix dideskripsikan berkali-kali, tetapi sisanya tidak dibahas secara rinci di jaringan. Oleh karena itu, saya akan menjelaskan koneksi penyedia SIP Multifon dari Megafon dan pembuatan menu suara dengan penerusan panggilan.

Buat bagasi dengan parameter akun Anda di Multifon. Anda dapat menghubungkan opsi ini ke nomor operator Megafon apa pun. Tagihan tidak tergantung pada paket tarif yang dipilih dan dibuat untuk setiap menit dari panggilan keluar. Kotak masuk gratis. Dua jalur percakapan didukung sekaligus. Selain itu, Anda dapat mengonfigurasi bahwa panggilan masuk hanya pergi ke telepon, telepon + multiphone, hanya ke multiphone.


Pengaturan teks untuk mereka yang ingin menambahkan trunk Multifon untuk diri mereka sendiri:

Multifon Batang
Rincian Rekan:

username = phone_number
type = peer
rahasia = kata sandi
port = 5060
nat = ya
insecure = port, undang
host = sbc.megafon.ru
fromuser = phone_number
fromdomain = multifon.ru
dtmfmode = inband
context = from-trunk

Daftarkan String:
phone_number: password@multifon.ru/ phone_number

Jadi, kami terhubung ke penyedia SIP dan sekarang kami dapat meneruskan panggilan masuk ke salah satu nomor ekstensi. Tetapi bagaimana jika Anda ingin penelepon memilih nomor ekstensi mana yang akan dihubungi? Anda dapat membuat menu suara dengan pilihan penerima. Saya akan membuat deskripsi langkah demi langkah.

Buat menu suara di Elastix

Pergi ke Rekaman Sistem. Di sini parameter rekaman suara yang perlu dilakukan sudah ditulis: PCM, 16 bit, 8000 Hz. Ini dapat dilakukan baik dalam utilitas perekaman standar, dan dalam program pihak ketiga seperti SoundForge.



Setelah sapaan suara dibuat dan diunggah ke server, buka item menu IVR. Kami membuat menu suara baru dan memilih file selamat datang, serta reaksi terhadap menekan tombol. Dalam kasus saya, saya memilih bahwa dengan menekan angka "3" angka "101" akan dipanggil dan seterusnya. Jika tombol yang salah dipilih atau pemanggil tidak menekan satu tombol, maka panggilan diteruskan ke ekstensi 304.



Sekarang kita perlu membuat panggilan masuk ke menu suara kita. Kami pergi ke item Rute Masuk dan membuat aturan baru. Dalam paragraf terakhir "Tetapkan Tujuan", pilih IVR dan antrian yang dibuat sebelumnya, yang saya sebut "dozvon".


Kami menyimpan dan menggunakan. Semua ini bekerja selama sekitar satu bulan tanpa kegagalan, tetapi bagi saya ini tampaknya tidak cukup. Lagi pula, tidak setiap rumah memiliki NAS dengan mesin virtual atau server tempat Anda dapat menaikkan Asterisk, tetapi hampir setiap rumah memiliki router!

Kemungkinan masalah dan solusinya dengan server virtual

Dalam proses pembuatan server dan port forwarding, ternyata pengoperasian dua mesin virtual dan satu server fisik pada port jaringan yang sama tidak terlalu efektif. Solusi paling sederhana adalah mengambil keuntungan dari sistem virtualisasi dan memilih antarmuka jaringan terpisah untuk mesin virtual. Ternyata sangat sederhana untuk melakukan ini dengan alat QNAP bawaan. Setelah itu, mesin virtual NAS + 1 sendiri tetap berada pada antarmuka jaringan pertama, dan mesin virtual kedua pada antarmuka jaringan kedua.



Langkah Dua: Angkat Asterisk di Router

Kebetulan saya menggunakan penyedia Yota, tapi saya tidak menggunakan router aslinya. Untuk waktu yang lama saya telah menyelesaikan router yang sangat baik dari Zyxel - Keenetic LTE. Beberapa tahun yang lalu saya sudah mengujinya dalam kondisi paling keras di pedalaman dan benar-benar puas - ada materi terpisah tentang ini di HabrΓ©.

Dalam firmware NDMS terbaru, atau lebih tepatnya, dimulai dengan firmware 2.08.B, dukungan untuk paket OPKG disertakan untuk keluarga router Zyxel Keenetic. Ini berarti Anda dapat meletakkan perangkat lunak yang paling beragam. (Ada banyak perangkat lunak yang disesuaikan untuk router Zyxel) Jadi mengapa tidak meletakkan Asterisk di sana? Adalah penting bahwa router memiliki minimum 128 MB RAM. Tidak lebih cepat dikatakan daripada dilakukan!
Itu semua lebih menyenangkan karena spesialis Zyxel bahkan menyiapkan manual untuk menggunakan Asterisk untuk router mereka. Pada prinsipnya, untuk menggunakan telepon pada router, cukup untuk mengikuti petunjuk langkah demi langkah. Dan saya akan memberi tahu Anda bagaimana saya meningkatkan dan membawa fungsi sistem ini ke sistem yang berputar pada server virtual terpisah.

Hal pertama yang saya temui adalah masalah yang tidak jelas dengan memulai router setelah reboot perangkat lunak. Ternyata flash drive saya, yang terhubung ke port USB router, mengkonsumsi arus hingga 0,16A. Ini ternyata cukup sehingga modem LTE di router Zyxel Keenetic LTE tidak dapat memulai secara berkala. Semuanya disembuhkan dengan menghubungkan flash drive melalui hub USB eksternal dengan daya tambahan. Mengambil waktu yang telah diuji oleh banyak orang D-Link DUB-H7 . Ini mengakhiri masalah. Saya percaya bahwa router dengan sepasang port USB akan bekerja tanpa kruk.

Sekarang mari kita pergi ke pengaturan Asterisk. Di sini Anda sudah perlu mengedit semua pena. Ada dua cara: buka SSH dan edit di sana (MC ada) atau putar bola ke alamat IP router dan edit file menggunakan Notepad ++. Kedua pilihan itu cocok untuk saya dan saya mulai berbisnis. Menambahkan pengguna saya, mendaftarkan multi-trunk di file sip.conf. Tetap hanya untuk membuat antrian suara. Saya menempatkan file ucapan suara di \\ 192.168.1.1 \ Asterisk-blue \ var \ lib \ asterisk \ sounds \ ru , dan membuat perubahan berikut pada file extensions.conf.

Membuat menu suara di Asterisk
[eksternal-keluar]
; ------------------ Multifon - exten => _8 .........., 1, NoOp ()
exten => _8 .........., n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _8 .........., n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _8 .........., n, Answer ()
exten => _8 .........., n, Tunggu (2)
exten => _8 .........., n, Playback (/ opt / var / lib / asterisk / sounds / itsp_names / multifon)
exten => _8 .........., n, Dial (SIP / Multifon / 7 $ {EXTEN: 1} ,, T)
exten => _8 .........., n, Hangup ()

[multifon-incoming]; ===== Panggilan masuk dari Multifon =====
exten => _........, 1, NoOp ()
exten => _........, n, Tunggu (4)
exten => _........, n, Answer ()
exten => _........, n (main), NoOp ()
exten => _........, n, Tunggu (1)
exten => _........, n, Putar ulang (halo)
exten => _........, n, Tunggu (0,5)
exten => _........, n, Playback (priv)
exten => _........, n, Set (TIMEOUT (digit) = 1)
exten => _........, n, NoOp ()
exten => _........, n, WaitExten (7)

exten => _1,1, NoOp ()
exten => _1, n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _1, n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _1, n, Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _1, n (dial_ext), Dial (SIP / 101.60, mt)

exten => _2,1, NoOp ()
exten => _2, n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _2, n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _2, n, Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _2, n (dial_ext), Dial (SIP / 302.60, mt)

exten => _3,1, NoOp ()
exten => _3, n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _3, n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _3, n, Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _3, n (dial_ext), Dial (SIP / 304.60, mt)

Jadi itu berhasil. Panggilan keluar melalui Multifon, panggilan internal antara pelanggan gratis, dan panggilan masuk melalui Multifon dapat dialamatkan ke salah satu dari tiga pelanggan. Tetapi bagi saya itu tampaknya tidak cukup. Dan sangat disayangkan bahwa hanya Megaphone yang memberikan koneksi SIP alternatif ke saluran seluler. Bagaimana jika Anda ingin menggunakan penyedia seluler lain? Ada solusi untuk masalah ini!

Langkah tiga: kami melampirkan operator seluler apa pun ke Asterisk kami

Langkah terakhir adalah menghubungkan operator seluler mana pun ke server telepon kami. Solusi paling logis adalah dengan menghubungkan gateway GSM-SIP, yang memberikan batang SIP di output. Tetapi biaya perangkat tersebut per 1 kartu SIM mulai dari 9 ribu rubel, jadi diputuskan untuk pergi ke arah lain. Kami menemukan modem dengan dukungan suara. Dalam kasus kami, ternyata adalah Huawei E3131. Cara membuka kunci dan mengaktifkan fitur suara telah berulang kali dijelaskan pada jaringan, jadi saya tidak akan terganggu oleh ini. Kami memasukkan kartu SIM yang kami butuhkan ke port hub USB dan pertama-tama, matikan operasinya sebagai modem 3G dalam menu.



Kemudian kita mulai mengkonfigurasi file-file Asterisk. Pertama, instal paket Dongle dengan perintah di opkg install asterisk11-chan-dongle console. Setelah instalasi, buka file dongle.conf dan edit untuk mendapatkan yang berikut:

File dongle.conf yang berfungsi
[dongle]
interval = 15

[default]
context = dongle-incoming
rxgain = 0
txgain = 0
usecallingpres = ya
panggilan tunggu = tidak
dtmf = inband
mindtmfgap = 45; interval minimal dari akhir preview DTMF dari awal berikutnya dalam ms
mindtmfduration = 80; durasi nada DTMF minimal dalam ms
mindtmfinterval = 200; Interval minimal antara ujung DTMF dengan digit yang sama dalam ms

[GSM1]
audio = / dev / ttyUSB1
data = / dev / ttyUSB2
imei = *****************; E3131 - Masukkan modem IMEI

Simpan file dan pergi ke file extensions.conf. Multifon dapat dikomentari, dan ditambahkan untuk bekerja dengan modem.

Kami mendaftar untuk pengoperasian panggilan melalui modem USB di file extensions.conf
[dongle-outgoing]; untuk panggilan keluar:
; ------------------ Donor GSM1 - exten => _8 .........., 1, NoOp ()
exten => _8 .........., n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _8 .........., n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _8 .........., n, Answer ()
exten => _8 .........., n, Tunggu (2)
exten => _8 .........., n, Playback (/ opt / var / lib / asterisk / sounds / itsp_names / beeline-gsm)
exten => _8 .........., n, Tekan (DONGLE / GSM1 / 8 $ {EXTEN: 1} ,, T)
exten => _8 .........., n, Hangup ()

[dongle-incoming]; untuk panggilan masuk:
exten => s, 1, NoOp ()
exten => s, n, Tunggu (4)
exten => s, n, Answer ()
exten => s, n (play), NoOp ()
exten => s, n, Tunggu (1)
exten => s, n, Playback (halo)
exten => s, n, Tunggu (0,5)
exten => s, n, Playback (priv)
exten => s, n, Set (TIMEOUT (digit) = 1)
exten => s, n, NoOp ()
exten => s, n, WaitExten (7)

exten => _1,1, NoOp ()
exten => _1, n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _1, n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _1, n, Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _1, n (dial_ext), Dial (SIP / 101.60, mt)

exten => _2,1, NoOp ()
exten => _2, n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _2, n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _2, n, Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _2, n (dial_ext), Dial (SIP / 302.60, mt)

exten => _3,1, NoOp ()
exten => _3, n, Set (__ SIP_CODEC_OUTBOUND = ulaw)
exten => _3, n, Set (__ SIP_CODEC_INBOUND = ulaw)
exten => _3, n, Set (CALLERID (num) = 8 $ {CALLERID (num): 1})
exten => _3, n (dial_ext), Dial (SIP / 304.60, mt)

Sekarang semuanya dimulai dan bekerja sebagaimana mestinya. Asterisk menerima panggilan masuk ke nomor dan pengguna memilih tempat untuk memanggilnya dengan memilih nomor. Panggilan keluar melewati operator seluler mana pun, di mana pun Anda berada. Artinya, Anda dapat memasukkan kartu SIM Anda ke modem USB dan pergi ke mana saja di dunia. Ada cukup untuk memiliki akses ke jaringan, dan pada smartphone / laptop untuk memiliki klien SIP yang akan terhubung ke server Asterisk Anda. Solusinya dijalankan dan berfungsi. Gangguan yang dihasilkan diobati dengan menambahkan hub USB dengan daya eksternal dan mengganti flash drive, karena beberapa drive tidak berfungsi. Semua pekerjaan untuk mengoperasikan telepon akan memakan waktu satu malam.

Untuk mencegah agar pekerjaan ini tidak hilang, Anda dapat membuat cadangan seluruh Asterisk pada flash drive dengan satu perintah:

Buat cadangan Asterisk pada flash drive
tar cvzf / opt / backup-`date "+% Y-% m-% d_% H-% M" .tar.gz -C / opt / bin dll lib rumah hilang + ditemukan root sbin share tmp usr var

Bonus untuk pemilik Zyxel Keenetic LTE

Perlu dicatat bahwa router ini juga dilengkapi dengan dua SIP-klien dengan port FXS fisik, di mana Anda dapat menghubungkan telepon analog apa pun. Dan klien ini dengan mudah terhubung ke server Asterisk, yang berputar di atasnya.

Bonus untuk pemilik Zyxel Keenetic *

Jika Anda tidak ingin menghabiskan uang untuk membeli ponsel SIP, jajaran router Keenetic mendukung adaptor Zyxel DECT, yang menambahkan fungsionalitas telepon SIP dengan kemampuan untuk menghubungkan handset nirkabel DECT.

Kesimpulan

Masalah komunikasi gratis antara pelanggan yang beragam dengan percakapan yang sering dan panjang diselesaikan. Tugas "kehadiran" pelanggan di kota dan komunikasi gratis dengan pemilik nomor, di mana pun pemilik berada, juga diselesaikan. Solusi NAS QNAP TS-451 dengan manfaat virtualisasi dari kemampuan untuk mengkonfigurasi Asterisk melalui antarmuka web. Tetapi solusi dengan router tidak memerlukan biaya apa pun. Asterisk - mudah! Mengapa membayar roaming ketika koneksi bisa gratis?

Saya ingin berterima kasih secara terpisah kepada tim Zyxel atas responsnya, bantuan dalam bereksperimen dan meningkatkan fungsionalitas perangkat mereka.

PS Seperti yang dikomentari dengan benar di bawah ini, hampir semua operator seluler melarang penggunaan kartu SIM untuk membuat gerbang GSM. Bahkan, tidak ada yang akan memblokir Anda sampai Anda memulai operasi komersial gerbang Anda. Penulis tidak bertanggung jawab atas tindakan Anda.
Namun, saya tahu kasus di mana perusahaan menggunakan puluhan kartu SIM di gateway GSM untuk panggilan murah ke nomor sel.

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


All Articles