使用星号的外呼自定义话单字段



我试图使用自定义字段利用cdr日志记录(到mysql)。我所面临的问题是,只有在呼出呼叫时,在呼入呼叫期间,我能够记录自定义字段,没有问题。

我遇到问题的原因是因为我需要的自定义cdr字段是系统上每个用户的唯一值。

sip.conf

 ...
 ...
 [sales_department](!)
 type=friend
 host=dynamic
 context=SalesAgents
 disallow=all
 allow=ulaw
 allow=alaw
 qualify=yes
 qualifyfreq=30

 ;; company sales agents:
 [11](sales_agent)
 secret=xxxxxx
 callerid="<...>"
 [12](sales_agent)
 secret=xxxxxx
 callerid="<...>"
 [13](sales_agent)
 secret=xxxxxx
 callerid="<...>"
 [14](sales_agent)
 secret=xxxxxx
 callerid="<...>"

extensions.conf

 [SalesAgents]
 include => Services
 ; Outbound calls
 exten=>_1NXXNXXXXXX,1,Dial(SIP/${EXTEN}@myprovider)

 ; Inbound calls
 exten=>100,1,NoOp()
    same => n,Set(CDR(agent_id)=11)
    same => n,CELGenUserEvent(Custom Event)
    same => n,Dial(${11_1},25)
    same => n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
    same => n(unavail),VoiceMail(11@asterisk)
    same => n,Hangup()
    same => n(busy),VoiceMail(11@asterisk)
    same => n,Hangup()
 exten=>101,1,NoOp()
    same => n,Set(CDR(agent_id)=12)
    same => n,CELGenUserEvent(Custom Event)
    same => n,Dial(${12_1},25)
    same => n,GotoIf($["${DIALSTATUS}" = "BUSY"]?busy:unavail)
    same => n(unavail),VoiceMail(12@asterisk)
    same => n,Hangup()
    same => n(busy),VoiceMail(12@asterisk)
    same => n,Hangup()
    ...
    ...

对于上面示例中拨号计划的入站部分,我能够插入自定义cdr字段(agent_id)。但是在上面,您可以看到,对于拨号计划的出站部分,我已经被如何能够告诉拨号计划哪个agent_id正在进行出站呼叫难住了。

我的问题:如何采取agent_id=[11] &Agent_id =[12]和Agent_id =[13]和Agent_id =[14]等,并将其用作外呼话单的自定义字段?

您应该能够使用CALLERID函数做到这一点。试着在你的dialplan中编码这个作为测试:

exten=6599,1,Answer()
exten=6599,n,Verbose(Caller id name=${CALLERID(name)})
exten=6599,n,Verbose(Caller id num=${CALLERID(num)})
exten=6599,n,Verbose(Caller id all=${CALLERID(all)})
exten=6599,n,SayNumber(${CALLERID(num)})
exten=6599,n,Hangup()

当您拨打6599时,您应该看到您正在呼叫的号码显示在控制台,并听到您的号码播放给您。在这种情况下,您应该能够为您的日志做这样的事情:

same => n,Set(CDR(agent_id)=${CALLERID(num)})


编辑

要使用这种方法,不要使用sip.conf callerid=来设置或隐藏callerid。相反,在读取callerid以供自己使用之后,在dialplan中编写代码。例如:

same => n, Set(CALLERID(all)=""<>)

相关内容

  • 没有找到相关文章

最新更新