Type of Service
asterisk-1.4.23.1のソースに添付されているip-tos.txtを意訳し、日本独自(ひかり電話関連)の情報を加えたものになります。
目次
TOS(トス Type of Service)について
Asteriskは、様々なプロトコルの内容に応じて、パケットの扱いに差をつけることができます。
トラフィックの負荷が高い時でも、IPパケット中のTOSフィールドを設定することにより、
音声用のパケットを優先して送信することができます。
SIP
sip.conf中には3つのパラメータがあり、これらの値がTOSフィールドを制御しています。
tos_sip
tos_sipパラメータは、SIPのシグナリング(発着呼)パケットを制御しています。
tos_audio
tos_audioパラメータは、音声(RTP)パケットを制御しています。
tos_video
tos_videoパラメータは、RTPビデオパケットを制御しています。
IAX2
iax.confに記述する"tos"パラメータは、IAXパケット(音声パケット、発着呼全て)の優先順位を決めるパラメータとなります。
IAXパケットの中には、発着呼制御パケットと音声パケットが同一のUDPトラフィックとして流れているため、
それぞれを別個に扱う事ができないからです。
IAXy
iaxprov.confには、IAXy用の"tos"パラメータがあります。
このパラメータも、前述のiax.conf用の"tos"パラメータと同様、IAXy機器一個全体(IAXyとやりとりするパケット全体)に効果が及びます。
ただし、IAXy機材別に違うToS値を設定することが出来ます。
設定可能な値
tosパラメータとしてnumeric型(数値)を指定します。
下記の値を設定することが出来ます。
- CS0 ~ CS7
- AF11 AF12 AF13
- AF21 AF22 AF23
- AF31 AF32 AF33
- AF41 AF42 AF43
- EF(Expedited Forwarding)
推奨設定
ひかり電話の場合、tos_audio=cs4とすることで、音質が良くなります。
設定 ファイル |
パラメータ | 推奨値 |
---|---|---|
sip.conf | tos_sip | cs3 |
sip.conf | tos_audio | ef |
sip.conf | tos_video | af41 |
iax.conf | tos | ef |
iaxprov.conf | tos | ef |
非推奨設定
推奨されませんが、下記のような設定も可能です。
- lowdelay
- throughput
- reliability
- mincost
- none
これらの値はRFC 791および RFC 1349にて規定されている値ですが、
IPパケットの優先順位を決める値としては時代遅れとなっており、
今後のAsteriskのバージョンでは削除されるでしょう。
Asteriskとネットワークについて
Asteriskサーバーで設定したTOSパラメータを最大限に活かすには、ルーターやスイッチ等でも確実にToSやoSを扱えるようにするべきでしょう。
Cisco製ネットワーク機器の設定については、QoS Solution Reference Network Design Guideを参考にしてください。
YAMAHAルーターの場合はDiffServベースQoSページが参考になります。
参考資料
- RFC 2474
- IPv4,IPv6でのDSフィールドの定義
- Differentiated Services Field Codepoints
- IANAが定めたDSCP値に関する文書
ひかり電話関連
- 音質について
- Asterisk端末と一般電話での会話で、Asteriskからの音声がガラガラ声になる場合の対処
- ひかり電話+RT57i(UZOの不定記より)
- YAMAHA RT57iがひかり電話で使えないという先日の記事にコメントを頂いたので、確認してみることにした。