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

разветвление звонка на 2 аппарата

Asterisk IP PBX 26 сообщений -
#1

я наблюдаю такую ситуацию:

есть 2 телефона и на них зарегистрирован 1 account. т.е. по логике, если позвонить ему то должны звонить оба телефона (по крайней мере мне именно так и нужно), но как вы догадываетесь этого не происходит. (звонит только один аппарат)

Вопрос: ПОЧЕМУ?

ps1: sip show peers - показывает только один IP
ps2: q=100% на обоих аппаратах
#2

будет звонить тот, кто в данный момент зарегестрирован.
а то что описано - напоминает "хочу чтоб 2 компьютера работали под одним ip адресом". ip - один, а mac'a - 2.
#3

а чтоб работало - 2 account'a и, к примеру, в одну queue их.
#4

да можно просто звонить сразу на оба одновременно. чего велосипед изобретать то? Wink
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#5

> "хочу чтоб 2 компьютера работали под одним ip адресом".
легко, см. Cluster'ы (вы же не думаете, что скажем GOOGLE это только 1 комп, P3 + 256 RAM;-))

> ip - один, а mac'a - 2.
еще легче, у меня (в почти каждом серваке) по 2 сетевухи ведутся как ОДНО логическое соединение с ОДНИМ IP и одним абсолютно не реальним MAC (напр. 00:01:01:01:01:01).
или см. все теже Cluster'ы, или google -> macchanger, неговоря уже о MACSpoofing

> 2 account'a и, к примеру, в одну queue их.
а если их не 2, а 5 и таких (задвоеных) телефонов тоже скажем 50, то мне надо 50 очередей создавать или заводить 5*50 account'ов?

нет, я тут хотел простенькое решение найти (хотел потом поиграть с параметром "Q")
но очевидно у * такая философия:
1 account (логика процесса) = одно подключение (физика процесса)
и наверное с этим ничего не поделаешь
#6

только не надо хаить астериск! Razz
для того чтобы работать с клиентами - он должен знать о их существовании как минимум! а иначе как ты себе вообще этот процес представляешь? звонить на деревню дедушке? это уже чтото на грани паранойи... Wink
не хочешь регестрировать их в системе - ну чтож - открой тогда любым guests доступ и пусть хоть весь мир подключается к твоему серверу без всяких прописываний в конфигах. только не секюрно это и ты это сам понимаешь.
если надо на 50 телефонов звонить одновременно - ты обязан как админ прописать их в системе. иначе нафига тогда вообще админ нужен? Wink уволить нафик и упразднить должность! Big Green

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#7

Resu писал(а):
>

Аналогии вообщем-то верны Smile только ведь что-то точно знает
что вот тут - вот это. И какой бы ни был кластер/etherchannel/etc
в конкретный момент времени пакет/запрос дойдет до одного конкретного устройства.
#8

anest писал(а):
для того чтобы работать с клиентами - он должен знать о их существовании как минимум! а иначе как ты себе вообще этот процес представляешь? звонить на деревню дедушке?

а вот как:
в SIP REGISTER пакете есть такая переменная - Expires, которая и определяет время регистрации данного account'a в системе под конкретным IP. если в течении этого времени поступает успешная регистрация этого же account'a с другого IP, то переписывать запись в "БАЗЕ ДАННЫХ" вовсе не обязательно, можно ее просто добавить, а при следующей выборке для INVITE пакетa, направить N-ое к-во INVITE - пакетов на все имеющиеся IP.
по моему просто и ясно как день Wink

anest писал(а):
не хочешь регестрировать их в системе - ну чтож - открой тогда любым guests доступ и пусть хоть весь мир подключается к твоему серверу без всяких прописываний в конфигах. только не секюрно это и ты это сам понимаешь.

всегда хотел узнать КАК ето сделать?
#9

Блин.. да сделай проще!
Dial(phone1&phone2.....)
#10

нет, нет это не то.
речь идет не о групповом звонке, а о том, что бы при
exten => _XXX,1,dial(SIP/${EXTEN})
звонили все телефоны, на которых соответствующие номера зарегистриреваны.
в то время как по предлагаемому вами решению мне надо предусмотреть "dial plan" для ВСЕХ(!!!) номеров, т.е.:
exten => 123,1,dial(SIP/123&SIP/124&SIP/125)
exten => 124,1,dial(SIP/123&SIP/124&SIP/125)
exten => 125,1,dial(SIP/123&SIP/124&SIP/125)

exten => 223,1,dial(SIP/223&SIP/224&SIP/225)
exten => 224,1,dial(SIP/223&SIP/224&SIP/225)
exten => 225,1,dial(SIP/223&SIP/224&SIP/225)
....
#11

Resu писал(а):

звонили все телефоны, на которых соответствующие номера зарегистриреваны.
....

Кто об этом знает кроме самих телефонов?
Сам же умные слова пишешь.
Может вопрос переформулируешь на
"Как заставить N (нет, n мало, возьмем x) телефонов с разными ip
зарегестрироваться одновременно под одним и тем же аккаунтом
на астериске?"

Что же касается 2-х аппаратов, подключенных, к примеру, к ата-186,
то что мешает попробовать прописать одинаковые uid0,uid1
#12

Resu писал(а):
... а при следующей выборке для INVITE пакетa, направить N-ое к-во INVITE - пакетов на все имеющиеся IP.
по моему просто и ясно как день Wink

а по моему - ни фига не ясно...
и ваще - на дворе кол, на колу мочало... я про "на все имеющиеся IP". ГДЕ они имеющиеся? так всетки астериск должен знать о этих самых IP ??! Wink или он у тебя какойто хитро-патченный с задатьками интелекта и умеет догадываться?

ко всему прочему
Resu писал(а):
в то время как по предлагаемому вами решению мне надо предусмотреть "dial plan" для ВСЕХ(!!!) номеров, т.е.:
exten => 123,1,dial(SIP/123&SIP/124&SIP/125)

а кто сказал что можно только ДВА-ТРИ телефона в строчке прописать??
если тебе надо 50 то и пиши все 50 в одну строку через &. и не надо лохматить бабушку. Big Green
еще существуют группы вида group1, group2 и тд - можно не пихать все телефоны в длинную строчку а просто позвонить прямо на всю группу.
кроме того экстеншины вида X, N и тд - не дураками придуманы...
если надо группу одной строкой то можешь вместо
123,1,dial... сделать
1XX,1,dial на 100 номеров. и не надо 100 строк отдельных писать. неужто сам не додумался?

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#13

> "на все имеющиеся IP". ГДЕ они имеющиеся? так всетки астериск должен знать о этих самых IP
а вы обратите ваше внимание на поле Contact в SIP REGISTER пакете.
где вы без труда найдете след:
;q=1.0;...
как вы думаете, зачем телефоны передают эту информацию?
ее надо просто сохранять время указанное в поле Expires, т.е. иметь таблицу:
Код:

sipuri | IP | time
--------------------------------------------------
123 | 192.168.12.12 | 10:41
123 | 192.168.12.13 | 10:42
123 | 192.168.12.14 | 10:43
231 | 192.168.12.13 | 10:39
231 | 192.168.12.14 | 10:41

прошло время --> удалил из таблици. просто? - просто!!!



а вот это пожалуйста поясните на примере
. писал(а):
еще существуют группы вида group1, group2 и тд - можно не пихать все телефоны в длинную строчку а просто позвонить прямо на всю группу.


ну, а это типичный пример группового звонка. как я уже говорил я ищу решение проблемы: "дать пользевателю возможность САМОМУ (т.е. на клиенте, а не на сервере) определить свое местоположение". группы здесь нипричем.
. писал(а):
кроме того экстеншины вида X, N и тд - не дураками придуманы...
если надо группу одной строкой то можешь вместо
123,1,dial... сделать
1XX,1,dial на 100 номеров. и не надо 100 строк отдельных писать. неужто сам не додумался?
Код:
#14

Понятно теперью более менее... предлагаю тебе сделать проще, у тебя есть группа (точнее номер 200 скажем), когда на него звонят в нём срабатывает скрипт который при переменной равной скажен два звонит на второй телефон, ушел, нажал #1 он поменял значение на ноль и никуда не дозвониться. пришел на место другое набрал #2 что пришел туда на трений телефон сделала доступный набор. Такая идея? Я прав?
#15

тогда что то типа такого

exten => 1000,1,Wait,4
exten => 1000,2,SetLanguage(ru)
exten => 1000,3,DBGet(autoattendant=auto/support_attendant)
exten => 1000,4,GotoIf(${autoattendant} = "1"?2000)
exten => 1000,5,Dial(****,wt)

exten => 2000,1,Voicemail(10000)
#16

спор у нас какойто бессмысленный и беспредметный.. Confused
я говорю что астериск _в любом случае_ должен регистрировать клиентов а вы говорите то же самое но другими словами. или может я ошибаюсь?
или по другому говоря - я сказал что астериск обязан знать о адресах клиентов а вы говорите что астериск тут ни при чем и что ему знать это не обязательно.
странный спор.
что насчет груп то детальная информация есть на вебе - потрудитесь почитать сами.
p.s. топик в топку.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#17

Chris, если ты угадал - снимаю шляпу Smile телепат

2 Resu: а если Chris угадал - то это называется follow me
и тогда - voip-info.org page=Asterisk+Tips+follow+me
#18

anest писал(а):
спор у нас какойто бессмысленный и беспредметный.. Confused

угу, все в кучу смешалось, люди, кони Smile
#19

Chris писал(а):
Такая идея? Я прав?

эта идея давно реализована - еще года два назад на voip-info видел. ничего заумного. нужно только поискать там хорошенько.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#20

dyer
muhaha

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#21

Chris писал(а):
... у тебя есть группа (точнее номер 200 скажем), когда на него звонят в нём срабатывает скрипт который при переменной равной скажен два звонит на второй телефон, ушел, нажал #1 он поменял значение на ноль и никуда не дозвониться. пришел на место другое набрал #2 что пришел туда на трений телефон сделала доступный набор. Такая идея? Я прав?

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

в вашем dial plan я не понял откуда появляется в базе данных значение "autoattendant=auto/support_attendant" или где его определить.

folow me (или если я не путаю "call transfer") - это _совсем_ не то!!
#22

А вы словами по-проще не можете объяснить что хотите?
Без всяких там клиент, сервер, etc.
Начало фразы могу подсказать - "абонент снимает трубку телефонного аппарата ..."
#23

folow me и call transfer это разные вещи!

ps: пора топик во флейм переносить Wink уже две страницы текста а полезной информации ноль.

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#24

Resu писал(а):
в вашем dial plan я не понял откуда появляется в базе данных значение "autoattendant=auto/support_attendant" или где его определить.

А вы принципально не пользуетесь google/voip-info?
page=Asterisk+tips+autoattendant
#25

dyer писал(а):
А вы принципально не пользуетесь google/voip-info?
page=Asterisk+tips+autoattendant ?

Resu писал(а):
..я ищу решение на стороне клиента..

чтото поиск как то вяло идёт Wink

_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
#26

Да по сути моё решение и как раз на стороне клиента решается, или ты хочешь чтобы телефон вступал в телепатический контакт с владельцеми тем самым регился\не регился на *?

laugh no comments