AF
Asterisk Forum
обсуждения телефонии, VoIP и IP-PBX
12разделов
5 423тем
34 385сообщений
← К списку тем

В CDR в поле dst сохраняется s вместо оригинального номера.

Newbies/FAQ Forum 13 сообщений -
#1

Всем добрый день.
Ни как не получается добиться сохранения оригинального номера, на который звонили.

В * он прилетает в INVITE пакете, в поле "To":
INVITE sip:s@111.11.1.111:5060 SIP/2.0
Via: SIP/2.0/UDP 222.222.222.22:5060;rport;branch=z9hG4bK-912fbdae8d2b11e68182001ec9cf4a51;sig=38e09ba9
Via: SIP/2.0/UDP 222.222.222.22:5060;rport;branch=z9hG4bK-912fb9308d2b11e68182001ec9cf4a51;sig=858f801a
Via: SIP/2.0/UDP 222.222.222.22:5062;rport=5062;branch=z9hG4bK-912fa4048d2b11e68182001ec9cf4a51
From: ;tag=DgaQsOHD4tAZE8bhw+LQGRPE90VBtQAq
To:

Но в CDR в поле dst - s:
2016-10-08 14:04:10
77777777777
s
from-trunk


sip.conf
[sipshop]
secret=XXXX
username=XXXXXX
host = XXXXXXX
type = peer
context = from-trunk
insecure = invite
nat = no

extensions.conf
[from-trunk]
exten => _.,1,Answer
exten => _.,n,Playback(tt-weasels)
exten => _.,n,Hungup

Прошу подсказать как добиться сохранения оригинального номера в CDR!
#2

Есть отдельное поле для ручного заноса чего угодно. userfield
_________________
платный суппорт по мере возможностей
#3

awsswa @ Сб Окт 08, 2016 10:31 писал(а):
Есть отдельное поле для ручного заноса чего угодно. userfield


Не подскажете как взять с SIP пакета оригинальный номер и записать в userfield?
#4

Alexbel, вас забанили в google ? Или вы думаете что ваш вопрос уникален ?
google -> asterisk userfield cdr

_________________
mega-net.ru - IT аутсорсинг
#5

virus_net @ Вс Окт 09, 2016 07:42 писал(а):
Alexbel, вас забанили в google ? Или вы думаете что ваш вопрос уникален ?
google -> asterisk userfield cdr


Вы слишком эмоциональны. Еще до того как создал эту тему пользовался поиском и не нашел решения своего вопроса.
Буду благодарен если кто то подскажет какую канальную переменную необходимо использовать чтобы получить оригинальный номер из поля To:. DNID, SIPCALLID не дают результата.
#6

${CallerID(num)} - тот кто вам звонит
${EXTEN} - на что он звонит

s - у вас прилетает потому что строка регистрации не правильная

_________________
платный суппорт по мере возможностей
#7

awsswa, спасибо за ответ.
Строку регистрации поправил. Но вопрос видимо немного в другом.
Для подключения к оператору используется комбинация логин/пароль. Но в транке много номеров. При входящих звонках они отображаются в поле To:
INVITE sip:011112113@111.11.1.111:5060 SIP/2.0
Via: SIP/2.0/UDP 222.222.222.22:5060;rport;branch=z9hG4bK-912fbdae8d2b11e68182001ec9cf4a51;sig=38e09ba9
Via: SIP/2.0/UDP 222.222.222.22:5060;rport;branch=z9hG4bK-912fb9308d2b11e68182001ec9cf4a51;sig=858f801a
Via: SIP/2.0/UDP 222.222.222.22:5062;rport=5062;branch=z9hG4bK-912fa4048d2b11e68182001ec9cf4a51
From: ;tag=DgaQsOHD4tAZE8bhw+LQGRPE90VBtQAq
To:

Если использовать ${EXTEN} вставляется "логин" учетной записи (011112113), а нужно брать именно номер, на который позвонили.

Как мне вытащить этот номер, для записи в CDR? Как перенаправить звонок нужному абоненту исходя из номера, на который звонят?
#8

строка регистрации - а после /а нужно брать именно номер, на который позвонили.

будем дальше гадать что у вас в строке регистрации ?

_________________
платный суппорт по мере возможностей
#9

awsswa,
Если сделать так:
register => 011112113:password@server.superprovider.com/77273495212
То в CDR в поле dst вставляется "s".
Также нужно учитывать что в этом транке несколько городских номеров.

сей час вот так:
register => 011112113:password@server.superprovider.com/011112113
В этом случае в CDR вставляется 011112113
#10

Устал
сделайте DumpChan и посмотрите в каком поле прилетает ваш параметр

_________________
платный суппорт по мере возможностей
#11

Alexbel писал(а):
Если сделать так:
register => 011112113:password@server.superprovider.com/77273495212
То в CDR в поле dst вставляется "s".

Станиславский сказал бы: не верю!
Пакеты диалога REGISTER в студию.

_________________
mega-net.ru - IT аутсорсинг
#12

awsswa,

Dumping Info For Channel: SIP/sipshop-00000003:
================================================================================
Info:
Name= SIP/sipshop-00000003
Type= SIP
UniqueID= 1476166702.6
LinkedID= 1476166702.6
CallerIDNum= 77777777777
CallerIDName= (N/A)
ConnectedLineIDNum= (N/A)
ConnectedLineIDName=(N/A)
DNIDDigits= 011112113
RDNIS= (N/A)
Parkinglot= default
Language= en
State= Up (6)
Rings= 0
NativeFormat= (ulaw)
WriteFormat= ulaw
ReadFormat= ulaw
RawWriteFormat= ulaw
RawReadFormat= ulaw
WriteTranscode= No
ReadTranscode= No
1stFileDescriptor= 29
Framesin= 2
Framesout= 0
TimetoHangup= 0
ElapsedTime= 0h0m0s
BridgeID= (Not bridged)
Context= from-trunk
Extension= 011112113
Priority= 2
CallGroup=
PickupGroup=
Application= DumpChan
Data= (Empty)
Blocking_in= (Not Blocking)

Variables:
SIPCALLID=6e4051708f7711e6a124001ec9cf4a51@222.222.222.22
SIPDOMAIN=111.11.1.111
SIPURI=sip:777777777776@222.222.222.22:5062



При этом, как писал ранее в SIP пакетах есть нужный номер:
INVITE sip:011112113@111.11.1.111:5060 SIP/2.0
Via: SIP/2.0/UDP 222.22.22.222:5060;rport;branch=z9hG4bK-04195bd88f7811e6b952001ec9cf4a51;sig=96562967
Via: SIP/2.0/UDP 222.22.22.223:5060;rport;branch=z9hG4bK-041957508f7811e6b952001ec9cf4a51;sig=5f261436
Via: SIP/2.0/UDP 222.22.22.223:5062;rport=5062;branch=z9hG4bK-041942d88f7811e6b952001ec9cf4a51
From: ;tag=iOlv9eHD4tAZE8bhw+LQGRPEYYo1SAAq
To:
Call-ID: 041911c88f7811e6b952001ec9cf4a51@222.22.22.223
CSeq: 1 INVITE
Contact:
Content-Type: application/sdp
Allow: ACK, BYE, CANCEL, INFO, INVITE, OPTIONS, REFER, REGISTER, UPDATE
Max-Forwards: 69
User-Agent: TS-v4.6.0-14b
Cisco-Guid: 68566876-2407010790-3109158942-3385805393
Content-Length: 304
Record-Route:
Record-Route:

Added after 13 minutes:

virus_net @ Вт Окт 11, 2016 06:26 писал(а):
Станиславский сказал бы: не верю!
Пакеты диалога REGISTER в студию.



virus_net,
Вы правы, сей час в CDR dst номер 77273495212
если строка регистрации register => 011112113:password@server.sipserver.com/77273495212
Видимо где то ошибся.
Сей час если звонят на другой номер по этому транку, в CDR все равно пишется номер 77273495212.
#13

Решил проблему. Попросил оператора каждый номер отдавать отдельной учетной записью, в каждой строке регистрации прописал необходимый номер. Огромное спасибо awsswa за участие!