Страница 1 из 1

Получить промежуточный номер телефона перед транком

Добавлено: 08 июн 2019, 15:24
Alex Goff
Провайдером организован многоканальный телефон. Есть номер 8800ХХХХХ у того же провайдера.При звонке на него звонок переволится на любой свободный канал. Каким образом можно определть,что звонок идет на 8800ХХХХХ? Организовать еще один канал и переадресовывать 8800ХХХХХ только на него не удобно,будут постоянно занят.Ответ провайдера:
Определить что вызов пришел с 8800, надо анализировать сообщение INVITE поле History-Info

INVITE sip:343581@192.168.10.14:5060 SIP/2.0
Via: SIP/2.0/UDP 10.8.247.100:5060;branch=z9hG4bK319e4bff.0
To: "8007755778"<sip:8007755778@10.8.247.100>
From: "83433804220"<sip:3433804220@10.8.247.100;cpc-rus=4>;tag=a08f764-30629
Call-ID: 1f205f55-0001-0090@10.8.247.100
CSeq: 32217 INVITE
Contact: <sip:3433804220@10.8.247.100>
Allow: INVITE,ACK,OPTIONS,BYE,CANCEL,INFO,REFER,NOTIFY,SUBSCRIBE,PRACK,UPDATE
Max-Forwards: 9
Record-Route: <sip:10.8.247.100;lr>
--------------------History-Info: <sip:8007755778@10.8.247.100>;index=1------------------------
History-Info: <sip:343581@192.168.10.14:5060?Reason=SIP%3Bcause%3D404>;index=1.1
Supported: 100rel
User-Agent: ZTE Softswitch/1.0.0
Content-Type: application/sdp
Content-Length: 127

--------------------History-Info: <sip:8007755778@10.8.247.100>;index=1------------------------
Каким образм можно добраться до этого опараметра в пакете?

Re: Получить промежуточный номер телефона перед транком

Добавлено: 09 июн 2019, 09:42
virus_net

Re: Получить промежуточный номер телефона перед транком

Добавлено: 09 июн 2019, 13:18
ded
Alex Goff писал(а):Есть номер 8800ХХХХХ у того же провайдера.
А зачем вы шифруетесь 8800ХХХХХ? Если всё равно ниже видны все цифры?
Правильней - у нас есть номер 8007755778 от того же провайдера.
Alex Goff писал(а):Определить что вызов пришел с 8800,
Номер пришё не с 8800, а с 83433804220, на 8007755778
INVITE sip:343581@192.168.10.14:5060 SIP/2.0
Via: SIP/2.0/UDP 10.8.247.100:5060;branch=z9hG4bK319e4bff.0
To: "8007755778"<sip:8007755778@10.8.247.100>
From: "83433804220"<sip:3433804220@10.8.247.100;cpc-rus=4>;tag=a08f764-30629
Call-ID: 1f205f55-0001-0090@10.8.247.100
CSeq: 32217 INVITE
сточки зрения организации вызовов номер 8007755778 - такой же DID, и входящие на него пишутся в CDR нормальным образом. Если нужно дополнять этут статистику - есть соответствующие поля CDR()

Код: Выделить всё

${CDR(clid)} Caller ID
${CDR(src)} Source
${CDR(dst)} Destination
${CDR(dcontext)} Destination context
${CDR(channel)} Channel name
${CDR(dstchannel)} Destination channel
${CDR(lastapp)} Last app executed
${CDR(lastdata)} Last app's arguments
${CDR(start)} Time the call started.
${CDR(answer)} Time the call was answered.
${CDR(end)} Time the call ended.
${CDR(duration)} Duration of the call.
${CDR(billsec)} Duration of the call once it was answered.
${CDR(disposition)} ANSWERED, NO ANSWER, BUSY
${CDR(amaflags)} DOCUMENTATION, BILL, IGNORE etc
${CDR(accountcode)} The channel's account code.
${CDR(uniqueid)} The channel's unique id.
${CDR(userfield)} The channels uses specified field.
https://wiki.asterisk.org/wiki/display/ ... +Variables
https://forum.asterisk.ru/viewtopic.php?f=4&t=1591

Re: Получить промежуточный номер телефона перед транком

Добавлено: 10 июн 2019, 11:32
Alex Goff
Огромное спасибо virus_net. Одной ссылкой помог решить все проблемы. А ded ,извините, как помошник Вы не очень.