Страница 1 из 2
Как раздать несколько SIP номеров?
Добавлено: 09 дек 2010, 06:16
levantuev
Провайдер по SIP выдал: ip, логин, пароль.
Дал 3 внешних номера.
Вот эти 3 номера нужно отдать на SIP телефоны в офисе, как это реализовать? В какую сторону смотреть?
Re: Как раздать несколько SIP номеров?
Добавлено: 09 дек 2010, 12:14
ded
Входящие конфигурируются через модуль Inbound routes (в терминологии freePBX), каждый номер, который провайдер подаёт - это DID. Его надо направить на соответствующий экстеншн.
Для ручных конфигов тоже всё просто:
exten => 526354,1,Dial(SIP/101,,tTr)
exten => 526355,1,Dial(SIP/102,,tTr)
exten => 526356,1,Dial(SIP/103,,tTr)
это если сходить из того, что провайдер передаёт номера не users ID типа 12a4fc7, а сам DID.
Это обычно видно по строке регистрации
register => 526354:superpasswd@mega.provider.org/526354
register => 526355:superpasswd@mega.provider.org/526355
register => 526356:superpasswd@mega.provider.org/526356
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 07:08
levantuev
Ну а если провайдер дал один логин на все номера? Как тогда?
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 07:23
levantuev
Вот нарисовал примерный конфиг:
224606 - первый внешний номер телефона
225601 - второй внешний номер телефона
SIP.CONF:
[general]
;Входящие
context=office
register => login:passw@ip_server_voip
;Исходящие
[prov_sip_224606]
dtmfmode=rfc2833
type=peer
host=sip.xxx.ru
fromuser=ID
fromdomain=sip.xxx.ru:5060
secret=password
username=uservoip
canreinvite=no
context=local
disallow=all
allow=g729
allow=g723
allow=g723.1
allow=gsm
allow=ulaw
allow=alaw
[prov_sip_225601]
dtmfmode=rfc2833
type=peer
host=sip.xxx.ru
fromuser=ID
fromdomain=sip.xxx.ru:5060
secret=password
username=uservoip
canreinvite=no
context=local
disallow=all
allow=g729
allow=g723
allow=g723.1
allow=gsm
allow=ulaw
allow=alaw
EXTENNSIONS.CONF:
[office]
exten => 224606,1, Dial(SIP/224606,40)
exten => 224606,2, Hangup
exten => _8./224606,1,Dial(SIP/${EXTEN}@prov_sip_224606,40)
exten => 225601,1, Dial(SIP/225601,40)
exten => 225601,2, Hangup
exten => _8./225601,1,Dial(SIP/${EXTEN}@prov_sip_225601,40)
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 08:01
levantuev
Вот в данном примере не понятно как организовать исходящие звонки по разным внешним номерам
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 10:09
vlego
как я понял , у Вас только одна учетная запись у провайдера и внешние номера относятся именно к ней. При таком раскладе разделить исходящий траффик (как Вы выражаетесь "по номерам") - не получится и наличие нескольких внеш-х номеров тут не причем. Вы можете разделить исходящий траффик при наличии разных учетных записей у провайдера - это не сложно. лучше использовать для этого custom context. Что касаемо входящих вызовов, то при наличии у вас для * только одного внешнего IP адреса, вы получите все вызовы от провайдера (даже при наличиии нескольких транков) всегда в какой-то один, в зависимости от приоритета и разделить входяшие (как совершенно верно выше сказано) сможете только по DID (в Inbound Routes). внешние номера можно оформить на разные учетные записи - тогда все получается.(для каждой учетной записи - свой транк и если есть желание, то свой внешний номер)
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 10:28
ded
vlego писал(а): Вы можете разделить исходящий траффик при наличии разных учетных записей у провайдера - это не сложно. лучше использовать для этого custom context.
Не обязательно. Для менеджмента через freePBX достаточно указывать соответствующие Oubond CID на экстеншнах.
Но у автора всё ручное. Поэтому
[office]
exten => 224606,1, Dial(SIP/224606,40) - при такой записи автор скоро будет всех одолевать криками "Почему у меня трансфер не работает?"
exten => 224606,2, Hangup
exten => _8./224606,1,Dial(SIP/${EXTEN}@prov_sip_224606,40) - в общем, так не надо
А вот так надо
Код: Выделить всё
exten => _22560X,1, Dial(SIP/${EXTEN},40,tTr)
exten => _8X./225601,1,Set(CALLERID(num)=225601:1)
exten => _8X./225601,n,Dial(SIP/provider/${EXTEN:1},40,T)
exten => _8X./225606,1,Set(CALLERID(num)=225606)
exten => _8X./225606,n,Dial(SIP/provider/${EXTEN:1},40,T)
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 10:47
vlego
ded, это понятно. А как быть с тариф-й разговоров ? В моем варианте это делает провайдер, а в Вашем это надо доделать самому.. Зачем прибавлять себе работу на ровном месте ? если есть разные организации, то каждый будет оплачивать вполне конкретный счет.
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 10:52
ded
Про тарификацию исходящих автор не спрашивал.
Re: Как раздать несколько SIP номеров?
Добавлено: 13 дек 2010, 11:01
levantuev
vlego писал(а):ded, это понятно. А как быть с тариф-й разговоров ? В моем варианте это делает провайдер, а в Вашем это надо доделать самому.. Зачем прибавлять себе работу на ровном месте ? если есть разные организации, то каждый будет оплачивать вполне конкретный счет.
тарификация на радиусе разве не пойдет ?