场景
- 在英国。
- 我有一条 (BT openreach) 电话线接入 Cisco SPA232D。该电话线可拨打号码,例如 01235AAAAAA。
- 我有一个虚拟号码 01235BBBBBB,它会被重定向到该线路。当有人拨打这个号码时,他们会被重定向到我的电话线路。他们的来电显示会被保留,我可以知道是谁打来的。
- 该线路连接到 SPA232D,它可以很好地将 PSTN 转换为 VoIP,并将呼叫转接到我的 FreePBX/Asterisk 服务器。
要求
我想根据呼叫者拨打的是 A 还是 B 来区分处理呼叫的方式。如何配置 SPA232 以将此信息传递给 Asterisk/FrePbX,以便它可以以不同的方式处理呼叫。
信息
SPA 上 PSTN 到 VoIP 的拨号计划是:
(S0:@192.168.1.XXX)
无论是直接来电还是通过重定向来电,Aterisk 日志中来电的前几行内容如下:
VERBOSE[1496][C-000000f7] netsock2.c: == Using SIP RTP TOS bits 184
VERBOSE[1496][C-000000f7] netsock2.c: == Using SIP RTP CoS mark 5
VERBOSE[12405][C-000000f7] pbx.c: -- Executing [+441235AAAAAA@from-trunk-sip-landline:1] Set("SIP/landline-00000226", "GROUP()=OUT_2") in new stack
VERBOSE[12405][C-000000f7] pbx.c: -- Executing [+441235AAAAAA@from-trunk-sip-landline:2] Goto("SIP/landline-00000226", "from-trunk,+441235AAAAAA,1") in new stack
VERBOSE[12405][C-000000f7] pbx.c: -- Goto (from-trunk,+441235AAAAAA,1)
VERBOSE[12405][C-000000f7] pbx.c: -- Executing [+441235AAAAAA@from-trunk:1] Set("SIP/landline-00000226", "__FROM_DID=+441235AAAAAA") in new stack
查看一下,无论呼叫是直接打到我的线路上还是通过转接服务打到的,当它到达星号时,它都有相同的 DID:即固定电话的 DID。