FreePBX16から17へアップデートしてみました
長年FreePBX16で運用していましたが、CDRレポートの文字化けがどうにも気になっていて、原因は「ODBCの接続ドライバがMySQL用だったから」という非常に単純なものでした。
MariaDBを使っているのにMySQL用のODBCコネクタを入れてたのが原因で、バグって文字化けするという罠。対策はもちろんMariaDB用のODBCに差し替えるだけ。
…なんですが、原因が分かった瞬間に満足して放置
じゃあなぜ17にアップデートしたのか?
そんな中で「FreePBX17が出たよ」という情報をキャッチ。
「おっ、ODBC周りも改善されてるかも?」という淡い期待から、移行プロジェクトが始まりました。
つまずきポイント①:Debianデビュー
今回、FreePBX17ではDebianを採用。これがまた初体験でして…。
- 何も考えずインストールしたらSSH入ってない
- Ubuntuとコマンドが微妙に違う
最初は戸惑いましたが、慣れれば問題ないレベルです。
つまずきポイント②:CallerID Superfecta の iAddressbook
一番の壁はこれ。CallerID Superfectaでiaddressbook(iaddressbook.org)を使ってたのですが、
そのままDebian12にインストールしたら、PHPエラーの嵐!
対応が面倒だったので、iAddressbookだけ旧FreePBX16上に残して運用してます。
つまずきポイント③:Macroが廃止に
FreePBX17ではmacro
が廃止されてて、発信時の番号選択(発番切り替え)ができなくなって1週間ハマりました。
従来のマクロはこんな感じでした:
[macro-dialout-trunk-predial-hook]
exten => s,1,Set(HASH(_SIPHEADERS,P-Preferred-Identity)=<sip:${CALLERID(num)}@ntt-west.ne.jp>) exten => s,n,MacroExit()
これをFreePBX17では:
[macro-dialout-trunk-predial-hook]
exten => s,1,Set(HASH(_SIPHEADERS,P-Preferred-Identity)=<sip:${CALLERID(num)}@ntt-west.ne.jp>) exten => s,n,return()
「MacroExit()」→「return()」に変えるだけでした。
その他のポイント
- バックアップ&リストアで環境移行はほぼOK
- 当社ではFAX送信モジュールも使ってますが、これは仮想マシンのMACアドレスを旧環境と同じにすればそのまま認証通りました
まとめ:移行はちょっと面倒。でもやる価値あり
今回のアップデート、最初は戸惑いながらも、終わってみれば「やってよかった」案件でした。
やっぱり最新バージョンは安定感があります。
CDR文字化けもようやくサヨナラできたし、今後のメンテも楽になるかなと。
同じような構成で悩んでる方がいたら、この記事が少しでも参考になれば嬉しいです!