如何知道来电时拨打的是什么号码

场景

  • 在英国。
  • 我有一个(BT openreach)电话线路进入Cisco SPA232D。 那个电话线可以拨打一个号码,比方说01235AAAAAA。
  • 我有一个虚拟号码,01235BBBBBB,这是redirect到该行。 当人们拨打这个号码时,他们被redirect到我的电话线。 他们的来电显示被保留,我可以告诉谁在打电话。
  • 该线路连接到一个SPA232D,PSTN到VoIP罚款,并将呼叫传递到我的FreePBX / Asterisk服务器。

要求

我想区分如何处理呼叫,具体取决于呼叫者是按A还是B.如何configurationSPA232将此信息传递给Asterisk / FrePbX,以便它能够以不同方式处理呼叫。

信息

PSTN到VoIP的拨号scheme是:

(S0:@192.168.1.XXX) 

传入呼叫的​​星号日志的前几行,无论它是直接传递还是通过redirect,都是:

 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:固定电话。