freepbx 底層是 asterisk。 elastix 以前是 asterisk 現在是 3cx。您應該還是用之前提到的 freeswitch 就好了。不過這方面有許多專門知識。
caller id 先送後送不知您是指什麼,如果是台灣的 PSTN, 只有第一鈴響前 FSK 和 DTMF 這兩種。也許您應該專注在 sip trunk 比較簡單,就不用管 caller id 的格式問題。各大電信公司都有提供 sip trunk,不過價格和技術就各自不同了,這方面還是國外比較便宜又多樣化就是了。當然如果電話量夠大的話,也許就不要搞什麼類比 FXO 還是 SIP 了, 把 E1 trunk 放上去。