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

Проблема с Call Transfer.

Добавлено: 08 фев 2012, 10:34
Terentiy
Здравствуйте!
Помогите пожалуйста. Не знаю в какую сторону копать.
Ситуация заключается в том, что при входящем вызове когда происходит Call Transfer. на какой либо номер в случае его занятости, на стороне вызывающего абонента происходит обрыв.
Использую Asterisk 1.4.
Смотрел по сигнализации, сообщение Busy Here, которое должно выдавать сигнал занято, проключается только от занятого абонента, до Asterisk, а до вызывающего абонента уже не идет.
Я хочу, что бы вызывающему абоненту проключалась корректная занятость.
входящий вызов происходит на SIP телефон Snom 320 далее Call Transfer к TAU-72, но это не так важно, потому что Linksys и Audiocodes также использовал с тем же результатом.
Заранее спасибо.

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 11:10
Terentiy
SIP
[general]

directrtpsetup=yes
canreinvite=nonat
recordhistory=yes
allowguest=no
context=incoming
port=5060
bindaddr=0.0.0.0
srvlookup=yes

disallow=all
allow=alaw
musicclass=default
language=ru
rtpholdtimeout=400
rtptimeout=300
progressinband=yes
useragent=Asterisk
nat=no
localnet=172.16.0.0/12
rfc2833compensate=yes

allowsubscribe=yes
limitonpeers=yes
notifyringing=yes
notifyhold=yes

[7750] ;Snom320
type=friend
host=dynamic
;host=192.168.11.15
secret=7750
dtmfmode=info
callerid=test <812XXXXXXX>
context=cos1
callgroup=1
pickupgroup=1
nat=no
qualify=yes
canreinvite=no
disallow=all
allow=alaw
;ranreinvite=yes
call-limit=2

[7008] ; TAU-72
type=friend
host=192.168.11.17
secret=7008
dtmfmode=info;rfc2833
callerid=test <812XXXXXXX>
context=cos1
nat=no
qualify=yes
canreinvite=no
allow=alaw

Exten

[general]
static=yes
writeprotect=no
autofallthrough=no
Set(TIMEOUT(digit)=4)
Set(TIMEOUT(response)=180)
priorityjumping=yes


[globals]
CONSOLE=Console/dsp

[local]

exten => 7750,1,Dial(SIP/${EXTEN}@${EXTEN},180) ; test
exten => 7750,2,Hangup
exten => 7008,1,Dial(SIP/${EXTEN}@${EXTEN},180) ; test
exten => 7008,2,Hangup

[incoming]
exten => XXXXXXX,1,Goto(local,7750,1)

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 11:26
Terentiy
Я имею в виду трансфер средствами телефона. Вызов пришел на абонента "A", поставлен на удержание , набран внутренний номер, вызов отправлен на занятый телефон абонента "B" без снятия трубки на телефоне "A".
Вызывающему абоненту не проключается занятость от телефона "B"

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 11:38
ded
Где Вы нашли такоую формулу?
Dial(SIP/${EXTEN}@${EXTEN},180)

Не хотите в библиотеку пойти, кноиги с примерами там разные? Исправлять чужой безграмотный код - не очень интересно
Dial(SIP/${EXTEN},,tr)

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 11:42
Terentiy
На версии 1.6 тоже пробовал, не получилось.
Вызов с TDM поступает на VoIP попадает на Snom ставится на удержание трансферится на TAU и кладется трубка. На TAU абонент занят, TAU и посылает сообщение Asterisk, Busy Here, а в сторону стыка с TDM на шлюз Busy Here не передается. И, соответственно, занятость в трубке вызывающего абонента не звучит.

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 11:44
ded
ded писал(а):Где Вы нашли такоую формулу?
Dial(SIP/${EXTEN}@${EXTEN},180)

Не хотите в библиотеку пойти, кноиги с примерами там разные? Исправлять чужой безграмотный код - не очень интересно
Dial(SIP/${EXTEN},,tr)

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 12:04
Terentiy
Простите, но есть же имя пользователя и имя хоста. И оба эти имени указываются в параметре Dial.

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 12:51
ded
ded писал(а):Где Вы нашли такоую формулу?
Dial(SIP/${EXTEN}@${EXTEN},180)
Пожалуйста, прочтите рекомендации и теорию.
Формула abc@host_name_or_ip_address - это SIP URI, общая концепция так сказать.
Для Астериска понятные пиры это (обычно)
SIP/${EXTEN} - внутренние номера, типа SIP/101
и
SIP/gateway/${EXTEN} - внешние номера. Например, gateway - это может быть шлюз, провайдер, и т.п.
Парадокс, но это может быть FXS шлюз, на котором тоже внутренние номера. Но смысла это не меняет. Логический объект gateway описывается как peer (friend) в конфиге Астериска, и имеет такие параметры как аутентификация при вызове - username & password on INVITE.
А общая формула SIP URI abc@host_name_or_ip_address таких параметров не имеет.

В общем - в платный суппорт.

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 13:36
Terentiy
По поводу пира 7750 я действительно скопировал из другого Астериска, и корректно
будет написать

exten => 7750,1,Dial(SIP/${EXTEN},180)
exten => 7750,2,Hangup

Я читаю книгу О Рейли "Будущее телефонии", работаю в большей степени по ней.
понимаю , что вы боле опытны чем.
Но Asterisk воспринимаю эту информация (о host name) корректно.
Почему же это безграмотно , если следуешь общим рекомендациям для Asterisk?

Скажите , если я напишу

exten => 7750,1,Dial(SIP/${EXTEN},180,tr)
exten => 7750,2,Hangup

Это сможет решить мою конкретнуб проблему?
Спасибо.

Re: Проблема с Call Transfer.

Добавлено: 08 фев 2012, 15:36
Terentiy
Попробовал, проблема осталась.