使用syslog server解决spa3102 calling id 的问题

April 21, 2013

spa3102很好用 配置好以后很稳定,但是有个小缺陷就是我的voip服务商不能动态携带callingid,这样我就不能正常看见到底是谁在给我打电话。 今天没事干研究了一下,发现spa3102的debuglog里面有完整的呼叫信息,这样只要读这个log就可以知道主叫号码了。下面是实现过程 1.配置服务器上的syslog 我用的是syslog-ng,通过soure/filter/destination三个条件来产生log,需求很简单:只要看主叫号码,然后就是时间年月日分开记录,方便后期处理。 perm(0755); #方便别的用户读取 source s_net { udp (); }; filter f_spa3102 { match("FXO:CNDD name=,"); }; destination df_spa3102 { file("/var/log/spa3102.log" template("$YEAR $MONTH $DAY $HOUR $MIN $SEC $MSG\n")); }; log {         source(s_net);         filter(f_spa3102);         destination(df_spa3102); }; 2.用一个php解析log,生成个可读性好一些的页面:))) 如果要完全自动化,只要弄一个cronjob 定期去看这个log有没有append,如果有就发个邮件或者sms把最新的line出去就可以鸟

Comments Off on 使用syslog server解决spa3102 calling id 的问题