Ни как не получается добиться сохранения оригинального номера, на который звонили.
В * он прилетает в 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!
_________________
платный суппорт по мере возможностей
| awsswa @ Сб Окт 08, 2016 10:31 писал(а): |
| Есть отдельное поле для ручного заноса чего угодно. userfield |
Не подскажете как взять с SIP пакета оригинальный номер и записать в userfield?
google -> asterisk userfield cdr
_________________
mega-net.ru - IT аутсорсинг
| virus_net @ Вс Окт 09, 2016 07:42 писал(а): |
| Alexbel, вас забанили в google ? Или вы думаете что ваш вопрос уникален ? google -> asterisk userfield cdr |
Вы слишком эмоциональны. Еще до того как создал эту тему пользовался поиском и не нашел решения своего вопроса.
Буду благодарен если кто то подскажет какую канальную переменную необходимо использовать чтобы получить оригинальный номер из поля To:. DNID, SIPCALLID не дают результата.
${EXTEN} - на что он звонит
s - у вас прилетает потому что строка регистрации не правильная
_________________
платный суппорт по мере возможностей
Строку регистрации поправил. Но вопрос видимо немного в другом.
Для подключения к оператору используется комбинация логин/пароль. Но в транке много номеров. При входящих звонках они отображаются в поле 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? Как перенаправить звонок нужному абоненту исходя из номера, на который звонят?
будем дальше гадать что у вас в строке регистрации ?
_________________
платный суппорт по мере возможностей
Если сделать так:
register => 011112113:password@server.superprovider.com/77273495212
То в CDR в поле dst вставляется "s".
Также нужно учитывать что в этом транке несколько городских номеров.
сей час вот так:
register => 011112113:password@server.superprovider.com/011112113
В этом случае в CDR вставляется 011112113
сделайте DumpChan и посмотрите в каком поле прилетает ваш параметр
_________________
платный суппорт по мере возможностей
| Alexbel писал(а): |
| Если сделать так: register => 011112113:password@server.superprovider.com/77273495212 То в CDR в поле dst вставляется "s". |
Станиславский сказал бы: не верю!
Пакеты диалога REGISTER в студию.
_________________
mega-net.ru - IT аутсорсинг
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.