VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Переадресация на мобильный

Проблемы Asterisk без вэб-оболочек и их решения

Модераторы: april22, Zavr2008

Ответить
jleed
Сообщения: 2
Зарегистрирован: 07 май 2013, 00:55

Переадресация на мобильный

Сообщение jleed »

Добрый день, значить история такая,
sip юзеров и dialplanes храню в базе mysql в realtime (just in case)

возникла необходимость сделать переадресацию на мобильные номера по истечению некоторого количества времени если звонят на сип номер у которого есть мобильный номер, жилательно бы номера хранить в базе (там же где и сип юзеров) или в отдельной таблице, вопрос каким образом можно из базы их подтаскивать в dialplan ( если это вообще реально )

Вопрос почти решается если использовать followme, только я не смог выключить промты в данном модуле, насколько понимаю этого сделать там нельзя, а у меня задача сделать все без просто, 20 секунд затем идет переадресация на другой номер (из базы) в зависимости от экстеншина.

Подскажите, кто как делает переадресация,
прописывать dialplan для каждого пользователя хочется в последнюю очередь.
Аватара пользователя
Aven
Сообщения: 798
Зарегистрирован: 28 янв 2011, 16:20

Re: Переадресация на мобильный

Сообщение Aven »

Книжку по Asterisk дочитайте что ли, раз уже Realtime осилили, дальше проще.
Решения телефонии на базе Asterisk || http://it-need.ru
ded
Сообщения: 15626
Зарегистрирован: 26 авг 2010, 19:00

Re: Переадресация на мобильный

Сообщение ded »

jleed писал(а):если использовать followme, только я не смог выключить промты в данном модуле, насколько понимаю этого сделать там нельзя, а у меня задача сделать все без просто, 20 секунд затем идет переадресация на другой номер (из базы) в зависимости от экстеншина.
Стандартная переадресация followme на мобильный из модуля freePBX - лист в столбик
101
89012345678#
где 101 - внутренний номер, а 89012345678# - внешний, в данном случае - мобильный. Стратегия - hunt. Промтов не будет.
Как этот стандартный сценарий кастомизировать под ваши жедания - Вам виднее должно быть.
jleed
Сообщения: 2
Зарегистрирован: 07 май 2013, 00:55

Re: Переадресация на мобильный

Сообщение jleed »

Решив вопрос,
в базе добавил
mobforward (1 переводить, 0 не переводить)
mobnum (мобильный номер)
forwardtime (таймаут по которому будет выполнена переадресация, если 0 то звонят оба телефона)

правило в базе:

Код: Выделить всё

id	Context			exten	priority	app		appdata														
1	INTERNAL_ROUTE	_X.		1		Set		AllowMobForward=${REALTIME_FIELD(sipusers,name,${EXTEN},mobforward)}
2	INTERNAL_ROUTE	_X.		2		Gotoif	$[${AllowMobForward}]?3:12										
3	INTERNAL_ROUTE	_X.		3		Set		MobForwardNum=${REALTIME_FIELD(sipusers,name,${EXTEN},mobnum)}	
4	INTERNAL_ROUTE	_X.		4		Set		MobForwardTime=${REALTIME_FIELD(sipusers,name,${EXTEN},forwardtime)}
5	INTERNAL_ROUTE	_X.		5		Set		ContextForward=${REALTIME_FIELD(sipusers,name,${EXTEN},context)}	
6	INTERNAL_ROUTE	_X.		6		Gotoif	$[${MobForwardTime}]?7:10										
7	INTERNAL_ROUTE	_X.		7		Dial		SIP/${EXTEN},${MobForwardTime}									
8	INTERNAL_ROUTE	_X.		8		Dial		Local/${MobForwardNum}@${ContextForward}						
9	INTERNAL_ROUTE	_X.		9		Goto		13															
10	INTERNAL_ROUTE	_X.		10		Dial		SIP/${EXTEN}&Local/${MobForwardNum}@${ContextForward}				
11	INTERNAL_ROUTE	_X.		11		Goto		13															
12	INTERNAL_ROUTE	_X.		12		Dial		SIP/${EXTEN}													
13	INTERNAL_ROUTE	_X.		13		Hangup																
Теперь добавляем
USER_CONTEXT _XXXX 1 Goto INTERNAL_ROUTE,${EXTEN},1
после чего вызов на 4 значные экстеншены будет осуществлятся через контекст INTERNAL_ROUTE и звонить на второй номер (если имеется) через контекст прописанный у екстеншина которому звонят
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH