Полное определение номера звонящего
если так, то только дописывать вручную. у нас то же 0 и все операторы говорят что должно быть без этой цифры.
Для исходящих понятно, хоть звонок совершается, в консоле номер определяется без нуля, так как был так набран в клиенте. Но, это и не надо, нуль можно набрать самому. Вопрос больше к входящим звонкам. Не могу понять, как засунуть зиро вот сюда нуль:
| Code: |
| exten => ХХХХХХХ,1,MYSQL(Connect connid localhost asterisk 1 asterisk) exten => ХХХХХХХ,n,Set(fname=${CDR(dcontext)}-${STRFTIME(${EPOCH},,%d%m%Y.%H:%M)}-${CALLERID(number)}-${EXTEN}) exten => ХХХХХХХ,n,Set(convert=nice -n 19 /usr/bin/lame -b 16 --silent "/usr/local/etc/asterisk/records/${fname}.wav" && rm -f "/usr/local/etc/asterisk/records/${fname}.wav") exten => ХХХХХХХ,n,MixMonitor(/usr/local/etc/asterisk/records/${fname}.wav|b|${convert}) exten => ХХХХХХХ,n,Dial(SIP/11004) exten => ХХХХХХХ,n,StopMonitor exten => h,1,MYSQL(Disconnect ${connid}) |
ХХХХХХХ - городской, выделенный номер.
Для исходящих, звонок совершается через
| Code: |
| exten => _X.,n,Dial(SIP/ХХХ/0${EXTEN}) |
| Code: |
| exten => ХХХХХХХ,n,Dial(SIP/11004) |
| Code: |
| Set(CALLERID(num)=0${CALLERID(num)}) |
_________________
Asterisk 1.4.30 @ Ubuntu 9.04 + Cisco MC3810 + NEC NEAX 2000IPS + Polycom IP Phones
Добавил строку exten => 7632059,n,Set(CALLERID(num)=0${CALLERID(num)}) в контекст входящих звонков. Теперь входящий звонок определется с нулем, но в базу по прежнему пишется без нуля.
Кстати, какая разница между CALLERID(num) и CALLERID(number)?
Samael:
нет. а разве этот вопрос может зависит от провайдера?
exten => 7632059,1,Set(CALLERID(num)=0${CALLERID(num)})
| Code: |
| exten => 7632059,1,MYSQL(Connect connid localhost asterisk 1 asterisk) exten => 7632059,n,Set(CALLERID(num)=0${CALLERID(num)}) exten => 7632059,n,Set(fname=${CDR(dcontext)}-${STRFTIME(${EPOCH},,%d%m%Y.%H:%M)}-${CALLERID(number)}-${EXTEN}) exten => 7632059,n,Set(convert=nice -n 19 /usr/bin/lame -b 16 --silent "/usr/local/etc/asterisk/records/${fname}.wav" "/usr/local/etc/asterisk/records/${fname}.mp3 && rm -f "/usr/local/etc/asterisk/records/${fname}.wav") exten => 7632059,n,MixMonitor(/usr/local/etc/asterisk/records/${fname}.wav|b|${convert}) exten => 7632059,n,Dial(SIP/11004) exten => 7632059,n,StopMonitor exten => h,1,MYSQL(Disconnect ${connid}) |
adt2k
Попробовал, установив exten => 7632059,1,Set(CALLERID(num)=0${CALLERID(num)}) первой строкой, изменив приоритеты, в выше приведенном диалплане. Результат тот же.
| Code: |
| exten => 7632059,n,Set(CALLERID(all)=0${CALLERID(num)}) |
Только я не понял зачем ты к mysql цепляешься если ничего с ним не делаешь...
оказывается можно и так...
Только я не понял почему не нужно писать логи... и в чем проблема.
А по теме не понятно почему не присваивается новый CallerId. Честно говоря я сталкивался с таким. Посмотрел что сделал - ничего не выяснил, но у меня работает когда 2 раза присваиваешь новый CALLERID(num) и это не выход...
Но как вариант, чисто для проверки:
| Code: |
| exten => 7632059,n,Set(cnum=${CALLERID(num)}) exten => 7632059,n,Set(CALLERID(num)=0${cnum}) exten => 7632059,n,Set(CALLERID(num)=0${cnum}) |
Last edited by adt2k on Thu Sep 02, 2010 06:15
Но у себя я избавлялся от IP который провайдер в ${CALLERID(name)} пихает.
| Code: |
| exten => 7632059,n,Set(CALLERID(all)=${CALLERID(num)}) exten => 7632059,n,Set(CALLERID(all)=0${CALLERID(num)}) |
а не только номер.
потому присвоение должно быть
| Code: |
| exten => 7632059,n,Set(CALLERID(all)=0${CALLERID(num)}) |