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

Опция fromuser= и передача CID

Asterisk IP PBX 7 сообщений -
#1

Опция fromuser= и передача CID


Добрый день сообщество.
Прошу помочь ибо похоже перестал видеть у себя под ногами.

Задача следующая принять звонок на промежуточный сервер, в зависимости от CID передать его дальше по транку.
Чтобы понятнее было так :
Golden -> SIP TRUNK -> Aster 1 -- > Astrer 2
Не работает связка между Aster 1 -- > Astrer 2. Вернее все работает, но не могу корректно передать CID.
Делаю так:
Примем от провайдера:
Код:

[432XXXXXX]
username=4326XXXX
fromuser=43260XXXX
secret=secret
type=friend
qualify=no
maxexpiry=120
insecure=invite
host=XX.XX.XX.XX
defaultexpiry=60
context=from-0432
allow=alaw
allow=ulaw
rustrpid=no
sendrpid=no
dtmfmode=rfc2833
canreinvite=no

[from-0432]
exten => _X.,1,Noop(--------- Incoming from trunk ${EXTEN})
same => n,Set(STARTTIME=${SHELL(date +%s)} )
same => n,GotoIf($[${LEN(${EXTEN})} = 9 ]?NOCUT:CUT)
same => n(CUT),Set(DTRUNK=${EXTEN:0:-2})
same => n,Goto(COPLETE)
same => n(NOCUT),Set(DTRUNK=${EXTEN})
same => n(COPLETE),Set(GROUP(vinnitsa)=public)
same => n,Macro(user-callerid,)
same => n,Dial(SIP/14-208Return/${DTRUNK},300,r)
same => n,Hangup()

[macro-user-callerid]
exten => s,1,Set(CALLERID(number)=${CALLERID(number):0:40})
same => n,Set(CALLERID(name)=${CALLERID(name):0:40})
same => n,Set(CALLERID(num)=${CALLERID(number)})
same => n,Set(CALLERID(name)=${CALLERID(name)})
same => n,Set(CALLERID(all)="${CALLERID(name)}" )
same => n,MacroExit()


;Транк отправки на aster1
[14-208Return]
fromuser=14-208Return
type=peer
secret=qwerty22
host=192.168.8.208
trunk=yes
notransfer=yes

;Транк приема на aster2
[14-208Return]
fromuser=14-208Return
username=14-208Return
context=from-trunk-custom
type=user
secret=qwerty22
host=192.168.8.14
dtmfmode=rfc2833


Вот собственно проблема, когда в Транк отправки на aster1 есть "fromuser=14-208Return", звонок проходит. Но в качестве CID высвечивается "14-208Return"
Если убираю опцию то звонок не проходит.
Код:

: Failed to authenticate on INVITE to ';tag=as050ebb3f

0432YYYYY - номер с которого звоню, те он подставляется в fromuser.

Добавлении опции insecure=port,invite в "Транк приема на aster2" ничего не дает, хотя во большинстве документации написано что должен.

Что я делаю не так ТКНИТЕ КАК КОТЕНКА. Второй день сижу ....
Понимаю что тема поднималась и не раз, заранее прошу прощения за флуд. Но не могу дойти.
#2

На одном сервере:

Код:
[moscowoffice]
type=friend
context=from-moscow
host=telegk.mydomain.ru
dtmfmode=auto
disallow=all
allow=alaw
directmedia=no
qualify=yes
ignoresdpversion=yes
deny=0.0.0.0/0.0.0.0
permit=ХХХ.ХХХ.XXX.XXX/255.255.255.255
secret=userspboffice
auth=spbsip:userspboffice@mydomain.ru


на другом:
Код:
[spbsip]
type=friend
context=lan-phones
host=XXX.XXX.XXX.XXX
dtmfmode=auto
disallow=all
allow=alaw
directmedia=no
qualify=yes
ignoresdpversion=yes
deny=0.0.0.0/0.0.0.0
permit=XXX.XXX.XXX.XXX/255.255.255.255
secret=userspboffice
auth=moscowoffice:userspboffice@mydomain.ru
#3

не помогло, но зато помогло в сочетании с вашими опциями опция
authuser=14-208Return

Все одно благодарю.
#4

А какая у вас версия? в 11.х я такой опции не наблюдаю.
И еще забыл сказать, что в [general] sip.conf-а у меня
Код:
match_auth_username=yes
#5

Aster 1
sterisk 11.4.0

-- > Astrer 2
1.6
#6

Ну, в 1.6 могло конечно и authuser быть. Уже не вспомню, но в 11-ой точно auth

[authentication]
; Global credentials for outbound calls, i.e. when a proxy challenges your
; Asterisk server for authentication. These credentials override
; any credentials in peer/register definition if realm is matched.
;
; This way, Asterisk can authenticate for outbound calls to other
; realms. We match realm on the proxy challenge and pick an set of
; credentials from this list
; Syntax:
; auth = :@
; auth = #@
; Example:
;auth=mark:topsecret@digium.com
;
; You may also add auth= statements to [peer] definitions
; Peer auth= override all other authentication settings if we match on realm



Впрочем, работает -- и хорошо. Но разобраться бы надо.
#7

убрать insecure=invite и всё.