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

X-Lite и callto:\\ ссылки

Newbies/FAQ Forum 13 сообщений -
#1

Кто-нибудь дружил X-Lite с веб интерфейсом? Чтобы набирал номер который отдается в стрничке ввиде callto://XXXXXX . Сейчас он запускается при клике на ссылку, но ничего не набиает. Могу задать любой другой формат сслыки с номером. только какой воспримет X-Lite?


P.S. Или может быть какой-то другой телефон посоветуете, который воспрнимает эти ссылки. Хотя мне X-Lite вполне нравится, надо только с сылками подружитьSmile
#2

По-моему X-Lite вместо callto:// поддерживает sip://
Ну и не мешает проверить что и без ссылки с него нормально можно сделать звонок.
#3

Нужно импортировать(сохранить в текстовый файл *.reg и запустить):
Для X-Lite
Код:
REGEDIT4

[HKEY_CLASSES_ROOT\sip]
@="Session Initiation Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\sip\shell]

[HKEY_CLASSES_ROOT\sip\shell\open]

[HKEY_CLASSES_ROOT\sip\shell\open\command]
@=""c:\\Program Files\\X-lite\\X-lite.exe" %1"

Для X-Pro
Код:
REGEDIT4

[HKEY_CLASSES_ROOT\sip]
@="Session Initiation Protocol"
"URL Protocol"=""

[HKEY_CLASSES_ROOT\sip\shell]

[HKEY_CLASSES_ROOT\sip\shell\open]

[HKEY_CLASSES_ROOT\sip\shell\open\command]
@=""c:\\Program Files\\X-pro\\X-pro.exe" %1"


После этого телефон звонит по ссылкам вида Абонент 202 . Обратите внимание, двойных слешей в ссылке НЕ НУЖНО.
#4

Только косяк, телефон не набирает номера в формате +7 - говорит неправилные номера и недоступны. Написал в форуме разработчиков может пофиксят.
#5

Читайте документацию, у X-Lite она есть.
Appendix B: Dialing Plans
#6

Попробовал снова, проблема вероятнее всего в коде символа "+".
Вот такой код даёт вот такой текст:
Код:



Абонент +79037777777



Абонент +79037777777

Но вызывает вот такую команду:
"c:\program files\counterpatch\X-Lite\x-lite.exe" -dial="%2b79037777777"

Естественно asterisk не знает что делать с префиксом %2b. Что подскажете делать?
#7

Попробуйте функцию Asterisk URIDECODE()
#8

Хорошо, сейчас попробую. Пока попробовал разрулить через диалплан:
exten => _%2B7495X.,1,Dial(SIP/sipnet/${EXTEN:3})
Звонок сваливается на контекст s почему-то...

Added after 15 minutes:

http://www.voip-info.org/wiki/view/Asterisk+func+uridecode
Судя по всему этой функцией можно оперировать с данными в строке. А как же быть с контектом - придётся создать промежуточный контекст который переменную ${exten} меняет, а потом отдаёт в основной контекст? Не совсем понимаю.
#9

Как-то так:

exten => _%2b.,1,Goto(URIDECODE(${EXTEN}),1)

exten => +7495... и т.д.

Внимательно там с регистром.
И вообще, зачем через плюс звонить? Лишний символ только.
#10

Попробую.

>>И вообще, зачем через плюс звонить? Лишний символ только.
Как зачем. А как отлечить звонок в Россию от звонка в Украину. Многие СМСки без + тоже не отправляются. Думаю что лучше использовать международный формат для набора номера, дабы не было проблем(в .т.ч. с разным написанием сотрудниками номеров контрагентов).
#11

СМС то-же через Астериск отправляете? Если у вас выход в Российскую ТФоП все междугородные/международные звонки должны начинаться с восьмерки. Эти правила общие для всей России и только мобильные операторы поддерживают международные коды. В плане определения направления звонка можно написать скрипт который будет подменять значение на другое, указанное в таблице соответствия. У себя проблему решил следующим образом:
Код:
exten => _+7XXXXXXXXXX,1,Set(EXTEN1=8${EXTEN:2}) ; Режем две первые цифры, подставляем впереди восьмерку и записываем в другую переменную.
exten => _+7XXXXXXXXXX,n,Dial(SIP/${EXTEN1}@sip-out,30)
exten => _+7XXXXXXXXXX,n,Hangup()

_________________
Консоль - самая удобная среда. А остальное от лукавого
#12

Цитата:
СМС то-же через Астериск отправляете?
Нет. СМС не из астериска, но все номера хранятся в одной базе. А в качестве исходящих у нас sipnet и GSM шлюзы. Всё поддерживает +7 Smile Попробовал воспользовться Вашим примером для урезания номера, но почему-то не удалось завенуть звонок на нужный экстеншен. Я уже вконце упростил до нельзя...

Взял Х-Lite, набираю в нём sip:+7903xxxxxxxx (так как передаётся из url в IntenetExplorer). Не пойму почему у меня в нужный контекст звонок не идёт:
Код:

exten => _sip:+7X.,1,Goto(office,300,1)
exten => _+7X.,1,Goto(office,300,1)

exten => s,1,Answer()
exten => s,n,Dial(SIP/201)


Вместе того чтобы попасть на Office,300 звонок сваливается на s . Лог во вложении. Что я не так делаю?


З.Ы. Проблема с _%2b замечена в Chrome. С ним буду позже разибратсья, как разберусь с вышеуказанной пролемой.
#13

Только что боролся с такой же проблемой: не получается позвонить по ссылке sip:номер_телефона.
Рабочая ссылка выглядит так: sip:номер_телефона@контекст