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

Как правильно сделать дозвон на другой номер?

Asterisk GUI 9 сообщений -
#1

Как правильно сделать дозвон на другой номер?


Нужно сделать так, чтобы при звонке на один из внешних номеров freepbx, осуществлялся дозвон на другой номер и соединение звонящего с этим номером.
В Inbound routes указываю для внешнего номера - Custom Destination.
В файле extensions_custom.conf добавлен нужный звонок
[redial]
exten => s,1,Dial(SIP/XXXXXX@MOBILE,50,rT,150,r)
exten => s,n,Hangup

Будет ли так работать или нужно перед звонком снимать трубку?
[redial]
exten => s,1,Answer()
exten => s,2,Dial(SIP/XXXXXX@MOBILE,50,rT,150,r)
exten => s,n,Hangup
#2

Делать Answer нужно.

edc писал(а):
Dial(SIP/XXXXXX@MOBILE,50,rT,150,r)

Синтаксис не верный. Asterisk cmd Dial
Цитата:
Dial(type/identifier, timeout, options, URL)
#3

virus_net Зачем в данном случае делать Answer ?
#4

Делать Answer не нужно.
#5

Asterisk cmd Answer
Цитата:
The function that Answer() has on a signaling level is to effect an
"pickup" on the incoming call leg. In SIP, this is a 200 OK message.
If you then proceed to Dial() out on another channel, any ringback
generated out the first channel will be in-band; that is to say, it
will be inside the acoustic bearer. A far-end pickup (200 OK) is
necessary to exchange audio bidirectionally.

Some dial plan functions - mostly those that conceivably entail a
two-way communication path - imply Answer() and will execute it for
you if you have not already done so. Others do not. For example, it
is possible to generate in-band ringback via "early media," e.g. by
sending a 183 Session in Progress message with an SDP payload to the
sender.
#6

Ну и зачем "поднимать" входящую ногу?
Обманывать клиента, считая секунды несостоявщегося разговора как состоявщегося и списывать за это деньги?
Нет никакого смысла в Answer там.
Вы же не хотите в перед Dial сказать что-то клиенту в трубку?

Мне кажется, вы не совсем понимаете смысл Answer.

Ну и во-вторых, даже в приведенной вами цитате, нигде не сказано MUST.
То есть, конкретно вам, никто не запрещает делать Answer перед Dial. Но никто и не обязывает.

Моя рекомендация: делать Answer только тогда, когда это действительно необходимо. В случае ТС -- такой необходимости нет.
#7

1. Прощу прощения, но причем тут деньги ? Разве топик о том "как сэкономить" ?
2. Я прекрасно понимаю смысл Answer.
Мы не знаем что ТС собирается делать с данным вызовом далее и что приведенные контексты это его окончательный вариант.
Без Answer на канале некоторые вещи работать не будут, например донабор, посему упреждая последующие вопросы "а почему не работает" я и дал свой ответ.
3. Без Answer может происходить задержка, перед тем как оба абонента услышат друг друга, т.к. нужно время на проключение медиа потока. Да не большое, но нужно. А с учетом нашего все убыстряющегося мира, когда народ уже ломает 1-2 секунду подождать....
4. Далеко не все операторы позволяют вызову долго висеть в предответном состоянии и грохнут такой вызов.
5. Видимо написанное мной "нужно" вы трактовали как "MUST", но в данном случае "нужно" не в смысле "MUST". Согласен, м.б. мне стоило написать так:
Цитата:
Делать Answer рекомендую, но не обязательно.
#8

Re: Как правильно сделать дозвон на другой номер?


virus_net
1. Считается правилом хорошего тона экономить деньги звонящего.
2. Человек довольно точно описал что именно ему надо сделать. Или вы читаете по диагонали или у вас нет понимания того что написано.
edc @ Tue Oct 14, 2014 14:21 писал(а):
Нужно сделать так, чтобы при звонке на один из внешних номеров freepbx, осуществлялся дозвон на другой номер и соединение звонящего с этим номером.

3. Эта пауза будет даже при использовании Answer.
#9

_Pavel_, как скажете.
Уж простите меня за то что я позволил себе иметь собственное мнение отличное от вашего.