Описываю ситуацию. Имеется:
Wildcard TDM400P в нее входит 4 потока E1 - ISDN PRI. Начальству потребовалось иметь возможность мониторить работу операторов, а именно, записывать в файлы, для проследующего прослушивания, если поступит жалоба от клиента(ов) на плохую работу, грубость и пр. оператора.
В конфиге сделал:
exten => s,1,DigitTimeout(10)
exten => s,2,BackGround(/var/spool/asterisk/await/gr_1)
exten => s,3,BackGround(/var/spool/asterisk/await/vmenu)
exten => s,4,BackGround(/var/spool/asterisk/await/adv.d/promo)
exten => s,5,SetVar(DIREC=/var/spool/asterisk/monitor)
exten => s,6,SetVar(CALLFILENAME=spravka/${DATETIME:0:8}-${DATETIME:-8:2}_${DATETIME:-5:2}_${DATETIME:-2:2})
exten => s,7,Monitor(wav,${CALLFILENAME})
exten => s,8,Queue(queue_spravka_wait|M|)
exten => h,1,System(/usr/bin/soxmix ${DIREC}/${CALLFILENAME}-in.wav ${DIREC}/${CALLFILENAME}-out.wav ${DIREC}/${CALLFILENAME}.wav)
exten => h,2,System(rm ${DIREC}/${CALLFILENAME}-in.wav ${DIREC}/${CALLFILENAME}-out.wav)
exten => h,3,System(/usr/local/bin/lame -f ${DIREC}/${CALLFILENAME}.wav ${DIREC}/${CALLFILENAME}.mp3)
exten => h,4,System(rm -f ${DIREC}/${CALLFILENAME}.wav)
exten => s,9,Playback(/var/spool/asterisk/await/peregruz)
exten => s,10,Hangup
Дальше идет ожидание нажатия цифр в голосовом меню.
Так вот. Когда запущен мониторинг, люди жалуются, что во время разговора глотаются слова, как бы заикается.
exten => h,3,System(/usr/local/bin/lame -f - сделал потому, что soxmix нивкакую не хочет понимать mp3 формат, пересобирал несколько раз, плюнул, решил так сделать.
Подскажите, что нужно покрутить, что бы этот эффект перестал проявляться?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
давай в студию uname -a
дело скорее всего в кодеках
А еще могет быть из-за эхоканцеллера...
| Chris писал(а): |
| Да не в иксах дело... |
не торопись с ответом... уже были преценденты, также и на voip-info и в конфе * эта проблема обсуждалась давно еще и сам спенсер сказал что данная проблема очень часто бывает именно из-за иксов. вот. так что свой вопрос не снимаю c повески дня..
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
Linux pbx 2.4.21 #1 Thu Jul 10 06:57:42 MSD 2003 i686 GNU/Linux
Короче, Дебиан. Иксов не наблюдается.
| Chris писал(а): |
| А сам * какой версии и что заикается с H323? или из SIP звонок? |
Вы наверное невнимательно почитали начало топика. Я же написал, что у меня ISDN-PRI, Е1 каналы, никакого SIP и H323 нет.
| Вадим Фрадков писал(а): |
| Вы наверное невнимательно почитали начало топика. Я же написал, что у меня ISDN-PRI, Е1 каналы, никакого SIP и H323 нет. |
Так а что с jitter'ами и эхом?
Если уж заптел...
| Гость писал(а): | ||
| Вадим Фрадков писал(а): |
| Вы наверное невнимательно почитали начало топика. Я же написал, что у меня ISDN-PRI, Е1 каналы, никакого SIP и H323 нет. |
Так а что с jitter'ами и эхом?
Если уж заптел...
zapata.conf:
echocancel=yes
rxgain=0.0
txgain=0.0
Это все, что стоит по этому поводу.
echocancelwhenbridged=yes
echotraining=yes
А вот это актуально для меня как-то было:
jitterbuffers=... (по умолчанию 4, попробуй увеличить до 8 и т.д.)
посмотри параметры модуля карты...
винчестеры сказийные надеюсь? надо посчитать примерное количество одновременных разговоров которое бывает в среднем и помножить на скорость каждого потока при записи на винт и посмотреть - хватает ли винту справляться с этим потоком.
как вариант.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| Гость писал(а): |
| На память: echocancelwhenbridged=yes echotraining=yes А вот это актуально для меня как-то было: jitterbuffers=... (по умолчанию 4, попробуй увеличить до 8 и т.д.) |
Ок, спасибо, echocancelwhenbridged=yes попробую, потому, как многое идет как раз мостом через Asterisk на станцию. Хорошо, что напомнил, хотел давно сделать, но все откладывал.
Но дело, скорее всего, не в этом...
| anest писал(а): |
| может проблема в кол-ве параллельно работающих lame одновременно? 4 Е1 это 120 каналов - я так понимаю нагрузка присутствует таки на сервак а тут еще и lame жрет ресурсы до кучи да еще и во многих копиях одновременно(?)... винчестеры сказийные надеюсь? надо посчитать примерное количество одновременных разговоров которое бывает в среднем и помножить на скорость каждого потока при записи на винт и посмотреть - хватает ли винту справляться с этим потоком. как вариант. |
Да, скороее всего это связано с lame, потому, что служба крупная и вызовов может быть от 10 до 50 в минуту. Винты хоть и сказевые, машика шустрая (Pentium-4 2,4GHz, 2Gb RAM), но такая дикая дисковая активность, видать, притормаживает. Плюс, ко всему прочему, программист тут учудился поставить postgres на эту машину, за что получил депримирование и запрет к доступу на сервер. По выводу top мне стало понятно еще одна причина "мороза" на каналах - дикая активность постгреса. Выключил postgresql, попробовал активировать мониторинг, эффект заикания снизился, но все равно, на качество связи сильно влияет.
Вопрос тольку у меня, скорее хотелось бы совета услышать по поподу мониторинга. Я стал конвертировать сеансы связи в mp3 формат из-за желания сэкономить дисковое пространство. soxmix, как я уже писал, не хочет в этом формате писать, это при всем при том, что я собирал его несколько раз, даже явно указывая, где находятся библиотеки lame кодека, он все равно мне создает mp3 файлы нулевой длинны.
Собственно что хотелось бы услышать, в качестве совета - если я уберу сжатие ламой файлов, глюк нейтрализуется? Если нет, то что, мне совсем отказаться от мониторинга?
Я в небольшом замешательстве.
и еще кстати - микшировать не нужно отдельно файлы - это делается ключом m в мониторе прям.
exten => s,7,Monitor(gsm,${CALLFILENAME},m)
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| anest писал(а): |
| попробуй пока писать в gsm - думаю должно помочь. и еще кстати - микшировать не нужно отдельно файлы - это делается ключом m в мониторе прям. exten => s,7,Monitor(gsm,${CALLFILENAME},m) |
Ага, сенкс. Только вот вопрос один есть, пикантный. Тётя, которая мониторит операторов, немного в возрасте, и ей надо все на "ублюдечке" подавать
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
можешь ссылочку дать?
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
еще.. еще можно кластер замутить. с перераспределением нагрузки. во!
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| anest писал(а): |
| да еще, на сервак под нагрузкой я бы поставил линух с исходников например gentoo какойнить ну или руками собирать самому. заметно ускоряет работу это правда. |
...ну ни фига себе... взрослеем...
| anest писал(а): |
| попробуй пока писать в gsm - думаю должно помочь. и еще кстати - микшировать не нужно отдельно файлы - это делается ключом m в мониторе прям. exten => s,7,Monitor(gsm,${CALLFILENAME},m) |
Ха, дудки! Пишет раздельно! =(
получается 31052005-13_30_50|m-in.gsm
Хренотень какая-то.... Во-первых, даже если формат записи имени будет такой, винда не поймет (по самбе контроллер смотрит файлы). И деффиренциация на in-out - задолбала уже... Можно поправить?
| Ded писал(а): |
| Забыл добавить дефолтный [beep]? |
Не "дефолтный", а "традиционный", бестолочь...
| Вадим Фрадков писал(а): |
| exten => s,7,Monitor(gsm,${CALLFILENAME},m) |
[/quote]
iMhO:
1) CALLFILENAME - фиксирована? По-моему нет, ибо: "exten => s,6,SetVar(CALLFILENAME=spravka/${DATETIME:0:8}-${DATETIME:-8:2}_${DATETIME:-5:2}_${DATETIME:-2:2})"
2) |m - работает, и вообще с "," _должно_ работать, но лучше по мануалу "|" везде использовать. Ну и ессно: show application Monitor
| Гость писал(а): | ||||
| Вадим Фрадков писал(а): |
| exten => s,7,Monitor(gsm,${CALLFILENAME},m) |
| Цитата: |
| iMhO: 1) CALLFILENAME - фиксирована? По-моему нет, ибо: "exten => s,6,SetVar(CALLFILENAME=spravka/${DATETIME:0:8}-${DATETIME:-8:2}_${DATETIME:-5:2}_${DATETIME:-2:2})" 2) |m - работает, и вообще с "," _должно_ работать, но лучше по мануалу "|" везде использовать. Ну и ессно: show application Monitor |
CALLFILENAME - не фиксировано, потому, как надо записывать уникальное имя файла с датой и временем. Неужели это влияет на Monitor?
С "|" пробовал, эффект тот же... в общем, запарился... в доках написано, что Monitor понимает флаги после какого-то CVS. Желания делать CVS на боевой машине нет. Оставил с soxmix и gsm. Все. Голова болит уже от этого всего.
| anest писал(а): |
| хм. чегото не додумался можешь ссылочку дать? |
Без ссылки (они через google), по памяти: Add hardware -> add new hardware (advanced) -> manualy from list -> have a disk -> from location ..\windows\system32 -> mmdriver.inf -> Microsoft GSM 6.10 audio codec -> Restart now? Yes/No/OK
пришлось плагин к винампу ставить - винамп играет а другие плеера нет.
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| Цитата: |
| Надо рестартить, играет. Но капризный - это да. В смысле, на одной машине встаёт, на другой нет. |
cd ~/tmp
wget http://www.szmidt.org/asterisk/asterisk-update.sh
chmod +x asterisk-update.sh
./asterisk-update.sh update
Addon's is currently NOT in use. Do you want them (y/n)? n
CreditCard is currently NOT in use. Do you want them (y/n)? n
и всё будет пучком
| Цитата: |
| Asterisk has been checked out from CVS. Would you like to compile and install now (y/n)? y Stop Asterisk before or after compiling, or not at all (b/a/n)? b Compiling Asterisk Verifying kernel version and source availability... Running 2.4 kernel ... --- Compile took 178 sec. (Excluding any addons.) --- P-4 2.4GHz ... Asterisk installed Restarting Asterisk Starting asterisk: [ OK ] # |
обновится сам астериск - конфиги и другие критичные файлы останутся не тронутыми! тоесть скрипт сам откомпилит и рестартанет астериск после чего он, уже обновленный, продолжит свою работу..
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| Цитата: |
| Stop Asterisk before or after compiling, or not at all (b/a/n)? b |
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| anest писал(а): |
| да запусти ты скрипт и не майся! |
Неее, дружище, маятся не буду, потому, что простой этого всего дела ( а кто его там знает, что не так пойдет) может обернуться потерей нескольких сотен тысяч баксов, что само по себе вызовет сексуальные потребности у руководства, без вазелина....скорее с тормозной житкостью... Это вы уж простите, но эскперементировать на живом Колл-центре и остальных службах, которые через астериск идет - нет желания.
Вообще мне не нравится как он с ISDN-PRI работает. А недавно вообще по 11 сигналу покрошил себя намертво, хорошо, что я был рядом, увидел на мониторе в логе системы сигнал от него.
С аудиоконтролем (Monitor) - полная лажа, писать - пишет, но глючат каналы при записи.
В общем, нужен коммерческий софт. Если кто начнет говорить, что дескать "вы не умеете готовить астериски просто", скажу так. В бизнесе надо все делать оперативно и качественно. Времени на эксперименты не так мало и трата того же времени - деньги.
Жаль.. Увы... Пока оставил без монитора, пусть пока так работает, попробую поискать хороший комерческий софт.
| Ded писал(а): |
| Не нашёл CVS repositories head и обломался. Проехали. |
ты интернет случайно не забыл "включить" на тестируемой машине?
заглянул в скрипт - что он там у тебя не нашел и почему - для меня остаётся загадкой... если вообще ты его запускал..
прям как в том анекдоте - толи лыжи не едут.. толи еще чего..
использовать скрипт я предложил по той причине что вижу что у человека стоит древняя сборка а обновлять "руками" ему влом (бывает). хотя известно что этот апдейт решит большинство его проблем. так что не вижу причин для раздражения..
_________________
«Choose a job you love, and you will never have to work a day in your life» — Confucius
| Вадим Фрадков писал(а): |
| Неее, дружище, маятся не буду, потому, что простой этого всего дела ( а кто его там знает, что не так пойдет) может обернуться потерей нескольких сотен тысяч баксов, что само по себе вызовет сексуальные потребности у руководства, без вазелина....скорее с тормозной житкостью... Это вы уж простите, но эскперементировать на живом Колл-центре и остальных службах, которые через астериск идет - нет желания. |
если 2.4 то очень рекомендую
http://www.plumlocosoft.com/kernel/patch ... e.diff.bz2
очень помогает при многих (>3) процессах в R и задержки гасит неплохо. Хорошую частоту переключения задач тебе прерывания от zap организуют
Hint: при конфигурации ядра вруби SMP.
а еще хорошо ограничить нагрузку М разговорами.
| Pasha писал(а): |
| PPPS а купить отдельную систему... эти вопросы в ней уже решены, конечно. но не факт, что ты их не сможешь решить самостоятельно за те же или меньшие деньги. А если, сможешь, то зачем платить чужим? |
..с жаром присоединяюсь к мнению!