これを行うには、サーバーでHuawei E171モデムのFreebsd 8.2を使用しましたが、MTSモデムまたはhuawei製のメガホン(E1551モデムでもテスト済み)、メガホンSIMカードを使用できます。 ソフトフォンは電話とSJphoneを使用していました。
すでに述べたように、 MultifonはSIPをメガホン番号に接続するためのサービスです。これにより、複数の独立した回線を維持し、IP-PBXを使用して解決できます。 サービスの接続とアスタリスクとの連携についてはすでに述べたので、簡単に説明します。
SIMカードを電話機に挿入し、 Multifon クライアントをダウンロードします 。LinuxおよびMac OS Xのディストリビューションはベータ版で利用できます。
クライアントを起動し、登録し、コード付きSMSを受信し、コードを入力し、パスワードを設定し、すべてがクライアントで機能することを確認します。
マルチフォンクライアントをオフにします(2つのクライアントを同時にマルチフォンに接続できないため、重要です)。
Multifon * 137#のすべての機能を接続するUSSDコマンドを送信し、サービスの包含を確認します。
/etc/rc.confまたは/ etc / default / kannelに追加します 。
kannel_bearerbox_enable="YES" kannel_smsbox_enable="YES" asterisk_enable="YES"
アスタリスクをインストールして構成する
cd /usr/ports/net/asterisk make install clean service asterisk start
インターネットには多くの説明がありますので、公式のメガホン設定に基づいて、いくつかの修正と説明を加えた設定のみを提供します。
アスタリスク構成:
;#/usr/local/etc/asterisk/sip.conf [general] tcpenable=yes allow=all register => 79271111111@multifon.ru:paSSwoRD:79271111111@193.201.229.35:5060/79271111111 [multifon-out] dtmfmode=inband username=79271111111 type=peer secret=paSSwoRD host=sbc.megafon.ru fromuser=79271111111 fromdomain = multifon.ru port=5060 context=multifon-in insecure=port,invite canreinvite=no ;# [100];# sip- type=friend host=dynamic secret=pass100 context=phones username=100 nat=rfc3581 ;# [101] type=friend host=dynamic secret=pass101 context=phones username=101 nat=rfc3581
;#/usr/local/etc/asterisk/extensions.conf ;# [multifon-in] exten=> 79271111111,1,Dial(SIP/100,60,t) ;# , [out] exten=>_7XXXXXXXXXX,1,Dial(SIP/multifon-out/${EXTEN}) exten=>_8XXXXXXXXXX,1,Dial(SIP/multifon-out/${EXTEN}) ;# 8 exten=>_+7XXXXXXXXXX,1,Dial(SIP/multifon-out/${EXTEN}) ;# +7 ;#exten=>_7XXXXXXXXXX,1,Dial(SIP/${EXTEN}@multifon-out,30,r) ;# ;# SIP [local] exten=>_1XX,1,Dial(SIP/${EXTEN},60,rt) [phones] include => multifon-in ;# , include => local include => out
;#/usr/local/etc/asterisk/rtp.conf [general] rtpstart=6001 ;# , RTP 6001 rtpend=20000
コンソールを起動します。
asterisk -vvvvr
コンソールを使用して構成を再起動します。
reload
マルチフォンとソフトフォンへの接続の確認:
sip show registry sip show peers
次のURLを要求して、SIPとともに電話を有効にする必要があります。
https://sm.megafon.ru/sm/client/routing/set?login=79XXXXXXXXX@multifon.ru&password=PASSWORD&routing=2
通話が内外で通過することを確認します。
モデムの準備
電話からSIMカードを取り出し、モデムに挿入します。
サーバーにモデムを挿入し、デバイスが見つかったことを確認します。
ls /dev | grep cuaU ls /dev | grep ttyU
デバイスが表示されない場合は、追加してカーネルを再構築します
device u3g
Kannelのインストールと構成
SVNからkannelをインストールすることをお勧めしますが、このバージョンでは問題が発生していないため、ポートからインストールします。
cd /usr/ports/www/kannel make install clean service kannel start
Kannelはユーザー自身を作成しないことに注意する価値があるので、私たちは自分で作成します。
adduser
また、彼はPIDファイル用のディレクトリの作成を気にしません。自分で作成します。
mkdir /var/run/kannel chown kannel /var/run/kannel
Kannelの構成:
#/usr/local/etc/kannel.conf group = core admin-port = 13000 admin-password = " paSsWoRd " log-file = "/var/log/kannel/bearerbox.log" log-level = 1 access-log = "/var/log/kannel/access_kannel.log" store-file = "/var/log/kannel/store_sms" smsbox-port = 13001 dlr-storage = internal sms-resend-retry = 1 group = smsc smsc = at smsc-id = huawei0 modemtype = huawei0 device=/dev/ttyU0.2 # /dev/ttyU0.3, sms-center="+79271111111" my-number="+79271111111" keepalive=5 group=modems id=huawei0 name="huawei0" group = smsbox bearerbox-host = localhost sendsms-port = 13003 global-sender = "+79271111111" log-file = /var/log/kannel/smsbox.log log-level = 0 access-log = /var/log/kannel/access_smsbox.log group = sendsms-user username = "user" password = "paSsWoRd" concatenation = true max-messages = 20 # sms php group = sms-service keyword = default post-url = "http://localhost/service.php?tel=%p&time=%t&coding=%c&smsc=%i" concatenation = true max-messages = 0 # sms smssend
kannelを再起動します
service kannel restart
SMSCへの接続がアドレスでオンラインであることを確認します
ローカルホスト :13000 /ステータス
ロシア語のsmsはucs-2beエンコーディングで行き来するので、変換します。 たとえば、PHPの場合:
$text=urlencode(iconv("utf-8","ucs-2be",$text));#
SMS送信:
file_get_contents("http://localhost:13003/cgi-bin/sendsms?smsc=$smsc&username=user&password=paSsWoRd&coding=2&to=$to&text=$text");#
コーディング= 2は、コーディングucs-2beに再び対応します。
ipfwが有効になっている場合は、ポートを開くことを忘れないでください(RTPのポートを含む、そうでない場合は音声/ビデオはありません)。
ipfw add allow tcp from any to ${IpOut} 5060 via ${LanOut} #SIP ipfw add allow udp from any to ${IpOut} 5060 via ${LanOut} #SIP ipfw add allow udp from any to ${IpOut} 6000-20000 via ${LanOut} #RTP
したがって、1つの番号に機能するSMSゲートウェイとコールセンターがあります。 さらに、アスタリスクを使用してIVRを整理し、SMSだけでなく、エンドユーザーとのインタラクティブな音声対話を通じてデジタル形式で情報を受信できます。
SIMカードのアスタリスクへの直接接続についてはここで説明しますが、最初にモデムが接続されると、モデムが「モデムのみ」モードに切り替わり、デバイスが再接続されるとデバイスが消えるため、モデムをゆがめて設定を変更することに注意してください
audio=/dev/cuaU0.1 ;# data=/dev/cuaU0.2 ;#
大きすぎる場合は、設定を変更します
rxgain=0 txgain=0
アスタリスクに関する良い本
Kannelの素晴らしい公式マニュアル
メガホン接続手順
メガホンからの設定ファイル (それらを使用すると、発信コールで問題が発生しました)
FreeBSDでデバイスが検出されない場合のカーネル構成ファイル