Задать вопрос

Почему неправильно определяется, логируется входящий SIP-звонок?

Asterisk 11.6-cert11
На входящий екстеншн вида:
exten => _32242485Х,1,NoOp("Start call on ${EXTEN} from ${CALLERID(num)}")

Приходит звонок, но почему он отображается и соответственно логируется и пишется в CDR неверно, и соотв на BLF не отображается нормально. (( должен заканчиваться номер на 50, но нет определяется как ..52, не зависимо с какой линии идет звонок ..50-..52.
4c748c762c7b49b68d7df85ec674a297.png
явное указание тоже не помогает:
exten => 322424850,1,NoOp("Start call on ${EXTEN} from ${CALLERID(num)}")


Привожу основное с extension.conf
[general]
static = yes
writeprotect = yes
clearglobalvars = no

[pizza-gsm-in]

exten => s,1,NoOp("${CALLERID(number)}")
same => n,Goto(incoming-work,work,1)

[sip-dg-in]
exten => _32242485X,1,NoOp("Start call on ${EXTEN} from ${CALLERID(num)}")
same => n,GotoIfTime(12:00-12:30,*,*,*?incoming-work,work,1)
same => n,System(sh /etc/asterisk/mycall-night.sh ${CALLERID(num)})
same => n,Background(/var/lib/asterisk/sounds/data0/IVR4)
same => n,Hangup

[incoming-work]

exten => _work,1,NoOp(Start call day)
same => n,Set(CHANNEL(language)=ru)
same => n,Answer
same => n,Macro(monitor)
same => n,Wait(0.5)
same => n,Dial(SIP/101&SIP/102&SIP/103&SIP/104,30,Ttrm(moh3))
same => n,System(sh /etc/asterisk/mycall-missed.sh ${CALLERID(num)})
same => n,Background(/var/lib/asterisk/sounds/data0/IVR3)
same => n,Hangup
exten => _1,1,NoOp(The ${EXTEN} was pressed by ${CALLERID(num)})
same => n,System(sh /etc/asterisk/mycall-back.sh ${CALLERID(num)})
same => n,Hangup

[pizza-int]
include => local-calls


[local-calls]

exten => _1XX,1,NoOp(Start local call from ${CALLERID(num)})
same => n,Macro(monitor)
same => n,Dial(SIP/${EXTEN},,rTt)
same => n,Hangup

exten => _*1.,1,NoOp("****  Start Calling from ${CALLERID(number)}****")
same => n,Macro(monitor)
same => n,Dial(SIP/322424850/${EXTEN:2},,rTt)
same => n,Hangup

exten => _40,1,PickUP()


sip.conf:
[general]
context = anonym
qualify = 900
nat = force_rport,comedia
externip  = 94.153.XX.XX
localnet = 192.168.0.0/255.255.0.0
bindport = 5060
canreinvite = no

limitonpeers=yes
allowguest=no
allowoverlap=no
srvlookup = yes
subscribecontext = default
alwaysauthreject = yes
allowsubscribe=yes
notifyringing = yes
notifyhold = yes
callcounter = yes

[sip-trunk](!)
type = friend
host = dynamic
insecure = port,invite
context = sip-dg-in
dtmfmode = rfc2833
disallow = all
allow = alaw
host = 62.64.XX.XX
deny = 0.0.0.0/0.0.0.0
permit = 62.64.XX.XX/255.255.255.0
outboundproxy = 62.64.XX.XX
minexpiry = 3600
maxexpirey = 3600
nat=force_rport,comedia
canreinvite=no
subscribecontext=BLF_Group
call-limit = 3

[322424851](sip-trunk)
defaultuser = 322424851
secret      = pass
fromuser    = 322424851
busylevel=1
;call-limit = 1


[siptemp](!)
qualify = 600
type = friend
host = dynamic
transport = udp
encryption = no
context = pizza-int
disallow = all
allow = alaw
callgroup = 1
pickupgroup = 1
deny=0.0.0.0/0.0.0.0
permit=192.168.1.0/255.255.255.0
subscribecontext=BLF_Group
canreinvite=no

[101](siptemp);
defaultuser = 101
secret      = pass
callerid    = 101
call-limit  = 1
busylevel   = 1
  • Вопрос задан
  • 989 просмотров
Подписаться 2 Оценить 1 комментарий
Решения вопроса 1
@Drill
И что ж здесь неправильного?
Отображается именно то, что и прописано в диалплане (NoOp("Start call on ${EXTEN} from ${CALLERID(num)}")):
"Start call on 322424850 from 0508009669"

Если Вы про канал "SIP/322424852-00000000", то при чем здесь экстен _32242485Х ?

Шаблон [sip-trunk](!) неправильный. У вас две сущности: host = dynamic и host = 62.64.XX.XX. Определитесь, который Вам нужнее. Я так полагаю, что host = 62.64.XX.XX, ведь не провайдер же у Вас регистрируется?
В выложенном Вами sip.conf, кстати, нет описания сипов 322424850-52, а есть только 322424851.
Поиграем в телепатов. Вероятнее всего, у Вас три транка на одного провадера. Проблема известная, почитать подробнее можно здесь.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы