「Voyage Asterisk」の版間の差分

提供: VoIP-Info.jp
移動先: 案内検索
(chan_cellphone)
(「Voyage Asterisk」を保護しました ([編集=管理者のみ許可] (無期限) [移動=管理者のみ許可] (無期限)))
 
(4人の利用者による、間の14版が非表示)
1行目: 1行目:
 
VoyageはDebian派生のためaptでAsteriskを入手できますが、バージョンが古いものしかないこととCF向けに調整されていません。そこでVoyage用のAsteriskを用意しました。<br>
 
VoyageはDebian派生のためaptでAsteriskを入手できますが、バージョンが古いものしかないこととCF向けに調整されていません。そこでVoyage用のAsteriskを用意しました。<br>
まずは[[Voyage Linux]]のページを見て、Voyage Linuxをインストールしてください。Voyage Linuxが動作する環境であれば、[[Microclient JR]]以外のマシンでもこのAsteriskが動作すると思います。<br>
+
[[Microclient JR]]用に調整してありますが、Voyage Linuxが動く環境であれば他のマシンでも使用できると思います。<br>
<br>
+
==個別インストール版==
なお当然ですが起動した後はroマウントされていますので、入手や展開などはremountrwを実行してから行います。
+
Voyage LinuxとAsteriskを個別にインストールしたい方は[[Voyage Asterisk 個別インストール版]]のページを参照してください。
==グループとユーザの登録==
+
==一括インストール版==
"asterisk"で動作させるのなら、グループとユーザを登録しておきます。UID,GID=5060は趣味です :)
+
用意するもの
# groupadd -g 5060 asterisk
+
*Linuxがインストールされているマシン
# useradd -g 5060 -u 5060 -d /var/lib/asterisk -s /sbin/nologin asterisk
+
*Linuxマシン上で使用できるカードリーダ/ライタ
 +
*インストール用のCFカード
 +
*Linuxマシン上にマウントポイント(例:/mnt/cf)を作成しておく
  
==Zaptel==
+
まず一式を以下から入手し、Linuxマシン上に展開しておきます。<br>
ftp://ftp.voip-info.jp/asterisk/voyage/zaptel-1.4.3_voyage.tar.gz<br>
+
:ftp://ftp.voip-info.jp/asterisk/voyage/voyage-0.3.1_asterisk.tar.gz
ルートディレクトリで展開してください。
 
展開したならば'''depmod -a'''と'''ldconfig'''を実行しておいてください。<br>
 
udevの関係でAsteriskをユーザ:asterisk、グループ:asteriskで実行する場合にはファイルの調整が必要です。<br>
 
/etc/udev/permissions.rules のzaptelのエントリを以下のように修正します。
 
SUBSYSTEM=="zaptel",                            GROUP="dialout"
 
              ↓
 
SUBSYSTEM=="zaptel",    OWNER="asterisk",      GROUP="asterisk"
 
修正した後は /etc/init.d/udev restart でudevデーモンを再起動しておきます。
 
  
==Asterisk==
+
===CFにパーティションを作成する===
ftp://ftp.voip-info.jp/asterisk/voyage/asterisk-1.4.5_voyage.tar.gz<br>
+
インストール先のCFにパーティションを作成しておきます。300MBもあれば十分です。後から追加するものがなければ256MBでもかまいません。起動パーティションとするので一応、アクティブに設定しておいてください。
日本語音声対応済み、ひかり電話のRT-200NE対応パッチ適用済みです。入手したならばルートディレクトリへ展開してください。<br>
+
# fdisk /dev/sdc
デフォルトで入っている設定ファイル類は[[Asterisk サンプル設定ファイル]]の1.4用に準じますが、asterisk.confのastrundirが/var/run/asteriskに変更されています。
+
Command (m for help): p
 +
 +
Disk /dev/sdc: 1024 MB, 1024966656 bytes
 +
32 heads, 62 sectors/track, 1009 cylinders
 +
Units = cylinders of 1984 * 512 = 1015808 bytes
 +
 +
    Device Boot      Start        End      Blocks  Id  System
 +
 +
Command (m for help): n
 +
Command action
 +
    e  extended
 +
    p  primary partition (1-4)
 +
p
 +
Partition number (1-4): 1
 +
First cylinder (1-1009, default 1):
 +
Using default value 1
 +
Last cylinder or +size or +sizeM or +sizeK (1-1009, default 1009): +256M
 +
 +
Command (m for help): p
 +
 +
Disk /dev/sdc: 1024 MB, 1024966656 bytes
 +
32 heads, 62 sectors/track, 1009 cylinders
 +
Units = cylinders of 1984 * 512 = 1015808 bytes
 +
 +
    Device Boot      Start        End      Blocks  Id  System
 +
/dev/sdc1              1        253      250945  83  Linux
 +
 +
Command (m for help): a
 +
Partition number (1-4): 1
 +
 +
Command (m for help): w
 +
/dev/sdcは例です。自分の環境にあわせて正しいデバイス名を使ってください。
  
Asteriskを動作させるにはパッケージの追加が必要です。
+
ファイルシステムを生成しておきます。
  # apt-get install libstdc++5
+
  # mke2fs /dev/sdc1
を実行してください。<br>
+
  mke2fs 1.38 (30-Jun-2005)
再起動するか/etc/init.d/asterisk startで起動するはずです。<br>
+
Filesystem label=
CFのROマウントから起動するため、/var/spool/asteriskや/var/log/asteriskはtmpfs上にあります。そのまま使い続けるといずれメモリ不足で落ちるはずですので注意してください。<br>
+
  OS type: Linux
AsteriskのログはSyslogに頼っています。Asterisk自体ではログを吐かないため、ログを確認する際には/var/log/messagesを見てください。ログもtmpfs上なので継続使用には注意します。Syslogを別なマシンに飛ばすなどすれば良いでしょう。
+
  Block size=1024 (log=0)
*別パーティションの使用
+
  Fragment size=1024 (log=0)
Asterisk用に別なパーティションを作成するか例えばUSBメモリのような外部ストレージを使ってマウントしておくと、自動的にそれを使用します。設定の手順は以下の通りです。
+
  62744 inodes, 250944 blocks
#fdisk等でパーティションを作成し、mkfsします。tune2fs -c 0 <デバイス> でチェックを無効にします。
+
  12547 blocks (5.00%) reserved for the super user
#/asteriskというディレクトリを作成します
+
  First data block=1
#/etc/fstabに次の1行を追加しておきます。
+
  Maximum filesystem blocks=67371008
  /dev/hdb2      /asterisk    ext2    defaults,noatime,rw    0      0
+
31 block groups
*実行ユーザの変更
+
8192 blocks per group, 8192 fragments per group
/etc/init.d/asteriskスクリプト内のAST_USERとAST_GROUPのコメントを外してください。ディレクトリパーミッション等も自動的に適切に調整される(はず)です。
+
2024 inodes per group
 
+
  Superblock backups stored on blocks:
==インストール後の状況==
+
         8193, 24577, 40961, 57345, 73729, 204801, 221185
1GBのCFを使用しルートとして600MB程度を割り当てた場合のディスク使用量は概ね次のようになっています。
+
  voyage:/# df -H
+
Writing inode tables: done
  Filesystem            Size  Used  Avail Use% Mounted on
+
  Writing superblocks and filesystem accounting information: done
  rootfs                600M  165M  405M  29% /
 
  udev                    11M    29k    11M  1% /dev
 
  /dev/hdb1              600M  165M  405M  29% /
 
/dev/hdb1              600M  165M  405M  29% /dev/.static/dev
 
tmpfs                  61M      0    61M  0% /lib/init/rw
 
  tmpfs                  61M  4.1k    61M  1% /dev/shm
 
  tmpfs                  8.4M  435k  8.0M  6% /rw
 
==chan_cellphone==
 
実はBluetoothドングルを挿せば携帯ゲートウェイとして動作するようにしてあります。なお、このAsteriskに含まれるのは現在のtrunkのadd-onではなく、Asterisk 1.4.4用のchan_cellphoneです。<br>
 
 
 
まずaptでbluetoothを持ってきます。
 
  # apt-get install bluetooth
 
余計なものを結構引きつれてくるので、ディスクの消費を抑えたい人は依存無視してホゲってください。<br>
 
/etc/bluetoothのhcid.confの以下の箇所を修正します。
 
         # Security Manager mode
 
        #  none - Security manager disabled
 
        #  auto - Use local PIN for incoming connections
 
        #  user - Always ask user for a PIN
 
        #
 
        security auto;        <-- autoにする
 
 
 
        # Default PIN code for incoming connections
 
        passkey "1234";        <-- passkeyは自分で設定
 
 
 
/etc/init.d/bluetooth restartでbluetoothを再起動します。エラーが出ますが無視してかまいません。<br>
 
次にhcitool scan を実行して、使用する電話機のアドレスを調べてメモしておきます。
 
 
 
rfcomm.confに以下のようなエントリを追加します。
 
  rfcomm28 {
 
        # Automatically bind the device at startup
 
        bind no;
 
 
   
 
   
        # Bluetooth address of the device
+
This filesystem will be automatically checked every 24 mounts or
        device アドレス;
+
180 days, whichever comes first.  Use tune2fs -c or -i to override.
        channel 1;
+
# tune2fs -c 0 /dev/sdc1
        comment "Nokia E60";
+
tune2fs 1.38 (30-Jun-2005)
  }
+
  Setting maximal mount count to -1
  
設定したならば再度、bluetoothを再起動します。<br>
+
===インストール===
この後、電話機側からの操作でペアリングを行い、設定したパスキーを入力します。認識されたならば"認証済み"にし、自動接続を許可しておきます。<br>
+
[[Voyage Linux]]のページを参考にしてVoyage Linuxをインストールする手順で行ってください。この手順だけでAsterisk+Zaptel込みのVoyage Linuxがインストールされます。<br>
 +
基本的にVoyage Asteriskを展開したディレクトリで
 +
./usr/local/sbin/voyage.update
 +
を実行するだけです。
  
Asteriskの設定は、まずmodules.confのnoload=>chan_cellphone.soをコメントアウトしてください。<br>
+
===grubの調整===
次にcellphone.confに以下のようなエントリを追加します。<br>
+
Microclient JRまたはCFスロットがIDEのプライマリ・スレーブのマシンの場合には調整は要りません。挿し込んでブートするはずです。他のマシンで起動する場合にはCFカードを一旦マウントしてboot/grub/grub.confを調整してください。
[NokiaE60]
+
===Asterisk動作環境の調整===
address=アドレス
+
[[Voyage Asterisk 個別インストール版]]のページを参考にして、別パーティション上にAsteriskが書き込むエリアを作ると良いでしょう。
port=28
 
context=cell-in
 
type=Phone
 
ノキアの場合、ヘッドセットプロファイルで入るにはport=28に設定しないとダメなようです。他の電話機は・・ちょっとわかりません。<br>
 
設定が完了したならば'''Asteriskを再起動'''します。reloadでは不十分です。/etc/init.d/asterisk stopで停止し、startしなおしてください。<br>
 
これで携帯がFXOになるはずです。テクノロジはCELLでCELL/デバイス/番号で発信できます。上の例では
 
CELL/NokiaE60/0312345678
 
を指定すると発信できます。着信は'''s'''エクステンションに対して行われますので、適切なコンテキストを作成してください。
 
===CLIコマンド===
 
cell search を実行するとbluetoothデバイスを検索します。実行に時間がかかるので慌てないように。<br>
 
cell show devices を実行すると現在接続されているデバイス一覧が出ます。<br>
 
電話機が接続されると、以下のようなメッセージがCLIに出ます。
 
  -- Bluetooth Device NokiaE60 has connected.
 
  -- Bluetooth Device NokiaE60 initialised and ready.
 

2017年11月18日 (土) 17:51時点における最新版

VoyageはDebian派生のためaptでAsteriskを入手できますが、バージョンが古いものしかないこととCF向けに調整されていません。そこでVoyage用のAsteriskを用意しました。
Microclient JR用に調整してありますが、Voyage Linuxが動く環境であれば他のマシンでも使用できると思います。

個別インストール版

Voyage LinuxとAsteriskを個別にインストールしたい方はVoyage Asterisk 個別インストール版のページを参照してください。

一括インストール版

用意するもの

  • Linuxがインストールされているマシン
  • Linuxマシン上で使用できるカードリーダ/ライタ
  • インストール用のCFカード
  • Linuxマシン上にマウントポイント(例:/mnt/cf)を作成しておく

まず一式を以下から入手し、Linuxマシン上に展開しておきます。

ftp://ftp.voip-info.jp/asterisk/voyage/voyage-0.3.1_asterisk.tar.gz

CFにパーティションを作成する

インストール先のCFにパーティションを作成しておきます。300MBもあれば十分です。後から追加するものがなければ256MBでもかまいません。起動パーティションとするので一応、アクティブに設定しておいてください。

# fdisk /dev/sdc
Command (m for help): p

Disk /dev/sdc: 1024 MB, 1024966656 bytes
32 heads, 62 sectors/track, 1009 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes

   Device Boot      Start         End      Blocks   Id  System

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 1
First cylinder (1-1009, default 1):
Using default value 1
Last cylinder or +size or +sizeM or +sizeK (1-1009, default 1009): +256M

Command (m for help): p

Disk /dev/sdc: 1024 MB, 1024966656 bytes
32 heads, 62 sectors/track, 1009 cylinders
Units = cylinders of 1984 * 512 = 1015808 bytes

   Device Boot      Start         End      Blocks   Id  System
/dev/sdc1               1         253      250945   83  Linux

Command (m for help): a
Partition number (1-4): 1

Command (m for help): w

※/dev/sdcは例です。自分の環境にあわせて正しいデバイス名を使ってください。

ファイルシステムを生成しておきます。

# mke2fs /dev/sdc1
mke2fs 1.38 (30-Jun-2005)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
62744 inodes, 250944 blocks
12547 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=67371008
31 block groups
8192 blocks per group, 8192 fragments per group
2024 inodes per group
Superblock backups stored on blocks:
        8193, 24577, 40961, 57345, 73729, 204801, 221185

Writing inode tables: done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 24 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.
# tune2fs -c 0 /dev/sdc1
tune2fs 1.38 (30-Jun-2005)
Setting maximal mount count to -1

インストール

Voyage Linuxのページを参考にしてVoyage Linuxをインストールする手順で行ってください。この手順だけでAsterisk+Zaptel込みのVoyage Linuxがインストールされます。
基本的にVoyage Asteriskを展開したディレクトリで

./usr/local/sbin/voyage.update

を実行するだけです。

grubの調整

Microclient JRまたはCFスロットがIDEのプライマリ・スレーブのマシンの場合には調整は要りません。挿し込んでブートするはずです。他のマシンで起動する場合にはCFカードを一旦マウントしてboot/grub/grub.confを調整してください。

Asterisk動作環境の調整

Voyage Asterisk 個別インストール版のページを参考にして、別パーティション上にAsteriskが書き込むエリアを作ると良いでしょう。