Страница 1 из 2

cdr channel

Добавлено: 16 июн 2012, 15:47
Phantom_v
Всем привет.
Подскажите , когда звонок заходит в queues ему присваивается уникальный канал. там SIP/ххххххххх-000048e0
Если этот звонок ходит по системе к экстешнам или переключается в группу этот канал показывает как ходят один звонок.

Заметил что в один день в разное время, Asterisk может присвоить одинаковые каналы разным не связанным между собой звонкам с промежутком в 10-12 часов. Такое происходит не часто, но встречается.
Подскажите с чем может быть связано и как это возможно исправить.

Периодичность составляет где-то раз в месяц, один канал может повторяться, иногда дважды в день.

Буду признателен за советы

Re: cdr channel

Добавлено: 16 июн 2012, 17:08
Aven
Имя канала к Queue никакого отношения не имеет.
Имя канала уникально в момент существования канала, после уничтожения оно легко может быть заного использоваться.
Уникальный идентификатор - UniqueID.

Re: cdr channel

Добавлено: 17 июн 2012, 09:35
Sfinx
UniqueID - это просто время в секундах, при более или менее сильной нагрузке (более одного вызова в секунду) будем иметь одинаковые UniqueID для разных каналов. Ни один из реализованных в астере способов представления уникальности каналов не подходит в реале. Комбинируйте (ChannelID + UniqueID) или делайте свой, что обычно надежней.

Re: cdr channel

Добавлено: 17 июн 2012, 10:02
gosha
uniquid это не только ценный мех... тьфу. это время в секундах + номер звонка через точку, тоеть при надгрузке > 1 звонка в секунду ниче не сломается. Но свой ID иметь таки полезно.

Re: cdr channel

Добавлено: 17 июн 2012, 10:18
Aven
Действительно на одной машине это работает отлично.
В кластере же прописываем systemname и продолжаем радоваться жизни!

Re: cdr channel

Добавлено: 17 июн 2012, 13:00
Phantom_v
Sfinx писал(а):(ChannelID + UniqueID) .
Спасибо так и сделал. Надеюсь, что совпадение невозможно.

Re: cdr channel

Добавлено: 17 июн 2012, 14:51
zzuz
Sfinx писал(а):UniqueID - это просто время в секундах
Жжёте , Уважаемый. Оно еще и полыхает ярко.

Re: cdr channel

Добавлено: 17 июн 2012, 19:04
kasper
Aven писал(а):Имя канала уникально в момент существования канала.
Тут как всегда asterisk way. В теории так и должно быть, но на практике не проверяется создан уже канал с таким же именем (по крайней мере там где создаётся канал такой проверки нет).
Что касается sip и dahdi то там к имени канала добавляется специальный счётчик (4-х байтовое значение), таким образом что бы 2 канала имели 1 имя нужно чтобы пока первый существует создалось ещё 65536 сип каналов и последний был с тем же самым номером. Вероятность такого крайне мала. А что касается Local каналов то там используется тупо random. Вот такой бардак

Re: cdr channel

Добавлено: 17 июн 2012, 20:14
zzuz
Нет никакого бардака .Вы надумываете лишнее себе. Уникальным в канале является только Uniqueid , который никогда не повторяется. Отлавливать имя канала вообще глупая затея.

Re: cdr channel

Добавлено: 18 июн 2012, 06:24
Sfinx
gosha писал(а):uniquid это не только ценный мех... тьфу. это время в секундах + номер звонка через точку, тоеть при надгрузке > 1 звонка в секунду ниче не сломается. Но свой ID иметь таки полезно.
Задумано-то оно вроде так, но в жизни попадались звонки с одинаковым UniqueID (мы их в базу по ключу добавляли), то ли это был баг конкретной версии при нагрузке, то ли ошибка приведения, но решилась проблема окончательно только созданием своего генератора.