星号开源手机系统 – 确定使用哪个800电话号码?

我有一个Asterisk开源手机系统。 我的企业将有许多免费的800电话号码,他们都去电话系统。 当客户打电话给我们时,是否可以知道他们使用了哪个 800电话号码? 也许在通话logging中的某个地方? 我已经search了通话logging,我看不到这些数据。

谢谢

在我们的系统上,当我们收到一个电话,我看到

VERBOSE logger.c: – 在新堆栈中执行Set(“IAX2 / abcdef”,“FROM_DID = 1234567890”)

在/ var / log /星号/完整,也可能在星号控制台 – 我忘了。 这里abcdef是你configuration的入站路由的名字,FROM_DID是我们的行号。 即使你没有得到FROM_DID,你所有的号码都设置为相同的inputIAX2路线 – 你能区分路线吗?

这取决于上游如何configuration线路。

如果免费电话号码映射到一个单一的来电号码,那么你将不得不依靠提供商是否通过使用CLID拨号号码 – 不是所有的人都这样做。 你正在为他们付钱 – 为什么不问他们?

;Send calls from this DID to IVR exten => 18005555555,1,Answer exten => 18005555555,2,NoOp(Inbound Call on ${EXTEN} from ${CALLERID(num)}) exten => 18005555555,3,Goto(s,1) 

我主要使用SIP没有IAX。 如果将第二行添加到入站拨号计划中,您将能够看到它到达的号码以及它在asterisk控制台中的位置。

如果你想logging这些信息,你可能需要查看log命令而不是noop

http://www.voip-info.org/wiki/view/Asterisk+cmd+Log

如果你想要自定义的东西,你应该阅读写AGI。 我一直用Perl写我的AGI脚本。 这里是链接到星号:: AGI的cpan模块

我要链接到它,但我没有足够的代表发布多个链接只是谷歌,“perl cpan asterisk agi”

希望这可以帮助

你在使用FreePBX吗? 800号码是来自SIP / IAX中继线,还是他们的dahdi? T1? 你想根据DID路由呼叫,或只是获得什么号码被拨打的统计数据? (如果您使用FreePBX并希望能够路由呼叫,请继续阅读…)

对于我使用FreePBX的设置,我有dahdi和SIP中继。 我使用FreePBX中的“Zap Channel DIDs”部分将每个频道与DID相关联。 对于我的SIP中继线,我的提供商有一个选项,我需要启用称为DNIS(拨号信息服务)。 没有这个选项,我无法看到一个来电正在使用的DID。 通过我所描述的设置,我可以使用FreePBX的呼入路由部分根据DID路由呼叫。

正确的答案将取决于您的电话如何交付。 您正在寻找名为DNIS或DNID的服务。 如果您的通话是通过SIP进入的,请打开SIPdebugging以查看是否正在设置。