Автор Тема: Тема для глупых вопросов про Asterisk  (Прочитано 13196 раз)

0 Пользователей и 2 Гостей просматривают эту тему.

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Тема для глупых вопросов про Asterisk
« : 04 февраля 2016, 12:59:27 »
Вопрос. А вот Extension Ranges, оно в основном для чего надо, и что будет если я откажусь от его использования, точней так, на какие косяки я могу налететь?
« Последнее редактирование: 04 февраля 2016, 13:49:16 от Triangle »
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн sirarthur

  • Старожил
  • ****
  • Сообщений: 577
  • Рейтинг: 5
  • Пол: Мужской
    • Просмотр профиля
Тема для глупых вопростов про Asterisk
« Ответ #1 : 04 февраля 2016, 13:47:48 »

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Тема для глупых вопросов про Asterisk
« Ответ #2 : 04 февраля 2016, 13:50:35 »

Вот про что я
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн sirarthur

  • Старожил
  • ****
  • Сообщений: 577
  • Рейтинг: 5
  • Пол: Мужской
    • Просмотр профиля
Тема для глупых вопросов про Asterisk
« Ответ #3 : 04 февраля 2016, 14:14:04 »
Я не силен в астериске, но думаю идеология не особо отличается.
Вероятно - Ext Ranges - это правила хорошего тона.
Да  ты можешь отключить и   нарезать как душа пожелает

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Тема для глупых вопросов про Asterisk
« Ответ #4 : 04 февраля 2016, 15:53:33 »
Ага, понял, спасибо.

Следующий глупый вопрос.
А предложите сравнительно дешевый способ связать asterisk станцию с аналоговой станцией, причем предполагается так. что все абоненты asterisk станции должны выходить в город через внешние линии аналоговой станции, у секретарей должна быть возможность переводить входящие городские звонки на asterisk станцию, а абоненты аналоговой станции могли бы позвонить абонентам asterisk станции допустим через набор отдельной цифры, ну вон шестерка у нас свободна.
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн sirarthur

  • Старожил
  • ****
  • Сообщений: 577
  • Рейтинг: 5
  • Пол: Мужской
    • Просмотр профиля
Тема для глупых вопросов про Asterisk
« Ответ #5 : 04 февраля 2016, 16:28:07 »
ip-fsx гейт?

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Тема для глупых вопросов про Asterisk
« Ответ #6 : 04 февраля 2016, 21:19:56 »
Ага, поглядел, что почем...
    Шасси Cisco 1760 с 16Mb Flash, 64Mb Dram - 1шт.
    Модуль VIC-4FXS по выбору - 2шт.
    Модуль кодеков PVDM-12 12-Channel DSP Module для Cisco 1700 Series - 1шт.
~17 т.р.
Ну вобщем то нормуль.
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Тема для глупых вопросов про Asterisk
« Ответ #7 : 08 февраля 2016, 22:52:32 »
Ага, понял, спасибо.

Следующий глупый вопрос.
А предложите сравнительно дешевый способ связать asterisk станцию с аналоговой станцией, причем предполагается так. что все абоненты asterisk станции должны выходить в город через внешние линии аналоговой станции, у секретарей должна быть возможность переводить входящие городские звонки на asterisk станцию, а абоненты аналоговой станции могли бы позвонить абонентам asterisk станции допустим через набор отдельной цифры, ну вон шестерка у нас свободна.
тут вариантов на самом деле не один и от аналоговой станции зависит

1. fxs/fxo шлюз
2. e1(ежели оно есть у АТС конечно), как вариант ELF2-R от parabel
3. банк каналов, как вариант от того же parabel


Updated: 08 February 2016, 22:54:50

 ps
имхо
не надо пользовать гуй, наворочено в этих фрипэбэиксах и еластиксах столько, что без поллитры не разобраться
диалплан простой нарисовать руками не долго, и поддерживать проще, в общем советую отказаться от гуя
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Онлайн Triangle

  • Модераторы
  • Олдфаг
  • *****
  • Сообщений: 7128
  • Рейтинг: 48
  • Пол: Мужской
  • Откуда: замкадыш
Тема для глупых вопросов про Asterisk
« Ответ #8 : 08 февраля 2016, 22:59:52 »
E1 есть вообще то, вот сижу читаю вспоминаю как оно устроено, по честному последний раз 12 лет назад настраивал. Насколько я понимаю при неполном использовании таймслотов интерфейса я могу сделать drop-insert, отдав часть таймслотов в сторону оператора связи, а часть для связи с asterisk?
« Последнее редактирование: 08 февраля 2016, 23:08:12 от Triangle »
Тетрис научил нас жизненно важному пониманию, успехи исчезают, ошибки накапливаются.

Оффлайн Makioro

  • Начинающий
  • *
  • Сообщений: 23
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Ukraine
Тема для глупых вопросов про Asterisk
« Ответ #9 : 12 сентября 2016, 13:37:04 »
Не уверен, что мой вопрос так уж глуп, но на всякий случай спрошу тут :)
Есть у меня GSM шлюз OpenVox, в нём есть 4 gsm канала и айпи. Ещё в эпоху когда он не умел IAX2 я создал там 4 SIP логина (ks1, mts, life, ks2 - по названиям используемых операторов), с которыми подключаюсь к шлюзу по IP сервером с астериском. С исходящими звонками проблем нет, но при любом входящем звонке получается, что все звонки на сервер приходят по одной SIP линии - ks1 - первой по счету. Т.е. получается что на сервере я не могу идентифицировать на какую именно карточку пришел звонок.
И меня это не особо напрягало, но на днях мы подключили облачную атс от укртелекома и там ситуация повторяется: у меня есть 4 логина, я ими подключаюсь, но на какой бы номер я не звонил, сервер всегда думает что пришел звонок по первой линии. Вот тут уже неудобно, т.к. некоторые линии должны напрямую пробрасываться в определённые отделы.
Вот конфиг УТ (для шлюза конфиг аналогичный)
Содержимое sip.conf:
[general]
limitonpeer=yes
context=incoming_fxo
language=ru
allowguest=no                   ;do not allow anonymous calls
alwaysauthreject=yes            ;do not say whether wrong password or username
nat=force_rport,comedia
register => 61********245:pass1@cloud-pbx.ukrtelecom.ua      ;49***1
register => 61********247:pass2@cloud-pbx.ukrtelecom.ua      ;49***2
register => 61********251:pass3@cloud-pbx.ukrtelecom.ua      ;49***4
register => 61********253:pass4@cloud-pbx.ukrtelecom.ua      ;49***5
[UT](!)
type=friend
host=cloud-pbx.ukrtelecom.ua
dtmfmode=rfc2833
disallow=all
allow=gsm
allow=ulaw
insecure=invite
canreinvite=no

;49***1
[619*******245](UT)
fromuser=619*******245
secret=pass1

;49***2
[619*******247](UT)
fromuser=619*******247
secret=pass2

;49***4
[619*******251](UT)
fromuser=619*******251
secret=pass3

;49***5
[619*******253](UT)
fromuser=619*******253
secret=pass4

УТ линии идентичны в настройках.
Правда с УТ линиями есть ещё одна беда. При попытке сделать исходящий звонок (*81 - это код экстеншна для тестов, 448000 - это собственно номер куда я звоню), мне выдаёт вот такую ошибку:
Цитировать
    -- Executing [*81448000@internal:1] Dial("SIP/user2-00001776", "SIP/61********245/448000") in new stack
    -- Called SIP/61********245/448000
[Sep 12 13:22:40] WARNING[100458][C-00004eee]: chan_sip.c:23335 handle_response_invite: Received response: "Forbidden" from '"user2" <sip:61********245@server_ip>;tag=as0ea7faea'
  == Everyone is busy/congested at this time (1:0/0/1)
    -- Executing [*81448000@internal:2] Congestion("SIP/user2-00001776", "") in new stack
  == Spawn extension (internal, *81448000, 2) exited non-zero on 'SIP/user2-00001776'
Если настроить линии на X-Lite, то как входящие, так и исходящие звонки отлично работают.

Может ли кто подсказать в какую сторону копать по этим двум вопросам?
Цитировать
# asterisk -V
Asterisk 13.6.0

Оффлайн Makioro

  • Начинающий
  • *
  • Сообщений: 23
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: Ukraine
Тема для глупых вопросов про Asterisk
« Ответ #10 : 14 сентября 2016, 14:06:37 »
Мда уж, вопрос был действительно глупым, странно что так никто и не ответил :)
Собственно, разделение входящих каналов стало возможным благодаря изменению регистрации в sip.conf следующим образом:
register => 61********245:pass1@cloud-pbx.ukrtelecom.ua/49***1
register => 61********247:pass2@cloud-pbx.ukrtelecom.ua/49***2
register => 61********251:pass3@cloud-pbx.ukrtelecom.ua/49***4
register => 61********253:pass4@cloud-pbx.ukrtelecom.ua/49***5
Ну а потом обработка входящих не в диалплане s, а в диалплане с конкретным номером, типа
exten => 49****1,1,Dial(SIP/support)
exten => 49****2,1,Dial(SIP/buh)

А вопрос с исходящими всё ещё открыт. Если кто знает в чем может быть проблема - пишите

Оффлайн Fray

  • Администратор
  • Олдфаг
  • *****
  • Сообщений: 6668
  • Рейтинг: 58
  • Пол: Мужской
    • Просмотр профиля
    • IT-Бложек
  • Откуда: Петербург
Тема для глупых вопросов про Asterisk
« Ответ #11 : 14 сентября 2016, 14:10:24 »
Мда уж, вопрос был действительно глупым, странно что так никто и не ответил
У нас тут полтора специалиста по Asterisk :pardon:
MCSE: Messaging, MCSE: Communication, MCSE: Productivity, MCSA: Office 365, MCPS
my blog - http://it-blojek.ru

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Тема для глупых вопросов про Asterisk
« Ответ #12 : 15 сентября 2016, 10:35:21 »
А вопрос с исходящими всё ещё открыт. Если кто знает в чем может быть проблема - пишите
Для этого обычно пользуют префиксы.
В диалплане ставишь 01, 02, 03, 04 перед номером, который шлюзу отправляешь, а на шлюзе уже отруливаешь на нужную симку.

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

Оффлайн FessAectan

  • Модератор
  • Старожил
  • *****
  • Сообщений: 972
  • Рейтинг: 25
  • Пол: Мужской
  • На пути к просветлению
    • fessae@jabber.ru
    • fessae
    • Просмотр профиля
    • https://vistep.ru/
  • Откуда: vistep.ru
Тема для глупых вопросов про Asterisk
« Ответ #13 : 15 сентября 2016, 10:40:42 »
Километровый, но таки пример. Там еще определяется можно ли звонить на сотовые с внутреннего номера и нужный ОПСОС
В диалплане макрос:
macro calling-mobile (calling,called) {
switch (${calling}) {
case 777:
Set(permissions=ALLOW);
break;
case 104:
Set(permissions=ALLOW);
break;
case 105:
Set(permissions=ALLOW);
break;
case 106:
Set(permissions=ALLOW);
break;
case 107:
Set(permissions=ALLOW);
break;
case 109:
Set(permissions=ALLOW);
break;
case 110:
Set(permissions=ALLOW);
break;
default:
Set(permissions=DENY);
break;
}

if ("${permissions}"="ALLOW") {
        Set(OPSOS=OTHER);
        Agi(opsos_selector.py,${called:1:3});
        NoOP(### OPSOS = ${OPSOS} ###);
        switch (${OPSOS}) {
                case OTHER:
                        NoOP(### OPSOS ### switch to OTHER ###);
                        Set(dialprefix=10);
                        break;
                case MEGAFON:
                        NoOP(### OPSOS ### switch to MEGAFON ###);
                        Set(dialprefix=11);
                        break;
                case BEELINE:
                        NoOP(### OPSOS ### switch to BEELINE ###);
                        Set(dialprefix=12);
                        break;
                case MTS:
                        NoOP(### OPSOS ### switch to MTS ###);
                        Set(dialprefix=13);
                        break;
                default:
                        NoOP(### OPSOS ### switch to default-OTHER ###);
                        Set(dialprefix=10);
                        break;
        }
Dial(SIP/${dialprefix}${called}@neogate,,r);
if (${dialprefix}>10) {
Set(SIPcause=${MASTER_CHANNEL(HASH(SIP_CAUSE,${CDR(dstchannel)}))});
Set(SIPcode=${CUT(SIPcause," ",2)});
NoOp(### SIPcode = ${SIPcode} ###);
if (${SIPcode} = 486) {
NoOp(### OPSOS ${OPSOS} IS BUSY NOW, TRY TO USE OTHER(MEGAFON2) ###);
Set(dialprefix=10);
Dial(SIP/${dialprefix}${called}@neogate,,r);
Hangup();
}
}
        Hangup();
} else
NoOP(### CALL WAS DENIED, BECAUSE CALLING NUMBER IS NOT ALLOWED TO CALL MOBILE PHONES ###);
HangUP();
};

потом сами эестеншены
_[78]9XXXXXXXXX => {
&recording(${CALLERID(num)},${EXTEN});
&calling-mobile(${CALLERID(number)},${EXTEN});
};

_9XXXXXXXXX => {   
        &recording(${CALLERID(num)},${EXTEN});
&calling-mobile(${CALLERID(number)},${EXTEN});
};

ну и скрипт для определения ОПСОСа
#!/usr/bin/python
# -*- coding: UTF-8 -*-

import sys

def agi_command(cmd):
    print cmd
    sys.stdout.flush()
    return sys.stdin.readline().strip()


tele2 = ['900', '902', '904', '908', '950', '951', '952', '953']
mts = ['910', '911', '912', '913', '914', '915', '916', '917', '918', '919', '987', '981', '982', '983', '984', '985', '986', '987', '988', '989']
megafon = ['920', '921', '922', '923', '924', '925', '926', '927', '928', '929', '930', '931', '932', '933', '934', '936', '938']
beeline= ['903', '905', '906', '909', '960', '961', '962', '963', '964', '965', '967']

if sys.argv[1] in mts:
    response = agi_command("EXEC Set OPSOS=MTS")
elif sys.argv[1] in megafon:
    response = agi_command("EXEC Set OPSOS=MEGAFON")
elif sys.argv[1] in beeline:
    response = agi_command("EXEC Set OPSOS=BEELINE")
else:
    response = agi_command("EXEC Set OPSOS=OTHER")

sys.exit(0)
Мы переоцениваем себя завтрашнего, поэтому и страдаем прокрастинацией.

Оффлайн white_joker

  • Новичок
  • *
  • Сообщений: 5
  • Рейтинг: 0
  • Пол: Мужской
    • Просмотр профиля
  • Откуда: SPB
Тема для глупых вопросов про Asterisk
« Ответ #14 : 15 сентября 2016, 12:12:54 »
ДА есть у меня глупый вопрос. Уважаемые подскажите пожалуйста.У меня есть какое то количество внешних номеров семизначных. они входят в астериск.у меня на 2 из них есть голосовое приветствие, а на других нет. у меня стоит шаблон на все номера общий и сейчас выскакивает ошибка об отстутвии файла.и потом еще идет ожидание 5 сек. подскажите как замутить проверку на наличие файла я что-то не соображу?
вот кусок диалплана:
Спойлер для скрыто:
exten => _XXXXXXX,1,Answer()
exten => _XXXXXXX,n,NoOp(${CALLERID(num)})
exten => _XXXXXXX,n,Background(${EXTEN})
exten => _XXXXXXX,n,WaitExten(5)
exten => _XXXXXXX,n,Goto(employees,${EXTEN},1)