iaxmodemの記述ミス発見
2016年1月20日
2023年6月23日
電話の一部が不通になっていて、なかなか原因を見つけられないでいた。
原因は、ファックス部分でした。
うちは、ファックスを、iaxmodemで行っていたのですが、この設定にミスが見つかりました。
device /dev/ttyIAX
owner uucp:uucp
mode 660
port 46136
refresh 300
server 127.0.0.1
peername iaxmodem
secret パスワード
cidname myfax name
cidnumber mayfax number
codec slinear
赤字の部分を4569としていた。これが誤り。
iaxmodemはiaxを使用するが、自身を4569ポートとしてはいけない。
これまで問題なかったのは、手動でサービスを立ち上げていたからである。
つまり、最初にasteriskを起動し、その後にiaxmodemを起動していた。
この状態だと、iaxmodemが4569を使おうとすると、すでにasteriskが使っているので、iaxmodem自身が別のポートを使用した。これで問題なしだった。
先日、サーバーが反応しなくなり、リブートをかけた。
もちろん、OSを立ち上げると、必要なサービスが起動するようにしている。
httpdとか、iptablesとかもろもろ。
今回、iaxmodemが先に起動し、その後にasteriskが起動してしまったのだと思う。
asteriskが4569を使おうとしたら、すでにiaxmodemが掴んでいるから、asteriskが正規のiaxのポートを開けない。
今回、原因を見つける事が出来たのは、下記のコマンドである。
netstat -anp | grep 4569
4569をどのアプリが使っているか、調べたのである。
今回、iaxmodemが使用するポートをを変更したが、まだ解決出来ていない問題がある。
OS起動時に、Asteriskよりもiaxmodemが先に起動する点である。
起動プロセスを管理するservice部分は、私はまだ理解が不足している。
最近のOSは、systemdを使うらしい・・・。systemdならプロセスの起動順をコントロール出来るらしい。serviceではダメなのかな。この辺は引き続き、学習が必要である。