Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Конфигурация и настройка / язык сообщений Meetme && CALL file && PRI(DAHDI)

язык сообщений Meetme && CALL file && PRI(DAHDI)

1 2>
Сообщений: 25

язык сообщений Meetme && CALL file && PRI(DAHDI)

День добрый,
настроена конференция, всё работает
решил ускорить приглашение участников через CALL файлы,
настройки:
extensions.conf
.....
[meetme]
exten => _1111,1,Meetme(1111,scx)
exten => _**[4-5]XX,1,Answer()
exten => _**[4-5]XX,n,Wait(1)
exten => _**[4-5]XX,n,System(jointomeetme.sh ${EXTEN:2})
exten => _**[4-5]XX,n,Hangup()
.....
--------------------------
jointomeetme.sh
#!/bin/sh

FILE=`date "+%s"`
cat > /var/spool/asterisk/outgoing/${FILE} << EOF
Channel: LOCAL/$1@from_TDA600
CallerID: Conference <1111>
MaxRetries: 2
RetryTime: 20
WaitTime: 30
Context: from_TDA600
Extension: 1111
EOF
---------------------------
Абоненты 4ХХ и 5ХХ приходят по потоку через DAHDI
chan_dahdi.conf
[channels]
language=ru
.....
---------------------------
Всё работает, если абоненты с потока сами входят на конференцию всё хорошо, язык сообщений рус.
<DAHDI/31-1> Playing 'conf-onlyperson' (language 'ru')
Если через Call файл
то абонент присоединяется но сообщение ему идут на анг.
<Local/575@from_TDA600-8e13,1> Playing 'conf-onlyperson' (language 'en')

Может кто подскажет в чём проблема?
откуда берётся language 'en'?
2010-01-27 10:54

Сообщений: 1573

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

Потому что используется канал Local и делается исходящий вызов до абонента (запись в chan_dahdi.conf в данном случае не влияет на это) ...

Попробуйте так:

[meetme]
exten => _1111,1,Set(CHANNEL(language)=ru)
...

P.S. такая конструкция: cat > /var/spool/asterisk/outgoing/${FILE} << EOF не рекомендуется к использованию(копирование в каталог outgoing). Нужно создавать файл в другой директории, а потом перемещать (mv) его туда
2010-01-27 13:12

Сообщений: 25

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

Да в таком виде всё работает! Спасибо!

везде пишут что не рекомендуется создавать CALL файлы,а лучше перемещать.
Причины??
возможный вариант чтения файла до окончание его полной записи??
2010-01-27 14:42

Сообщений: 1573

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

SimakinK:

возможный вариант чтения файла до окончание его полной записи??
точно! ... ;)
2010-01-27 15:37

Сообщений: 25

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

такое невозможно, посколько до записи EOF
файла не существует...
2010-01-27 15:50

Сообщений: 1573

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

SimakinK:

такое невозможно, посколько до записи EOF
файла не существует...
он создается ... )
EOF - окончание чтения ввода (в данном случае) ...
2010-01-27 15:59

Сообщений: 25

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

Проверьте сами,
открываем два терминала, делаем в одном
cat > /tmp/11111 << EOF
bla bla lba

В другом терминале поробуйте прочитать этот файл...
пока не обозначите конец файла, он не будет записан.
может быть это актуально только для небольших файлов, или каких то особеностей различных ФС.
2010-01-27 21:46

Сообщений: 1573

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

SimakinK:

пока не обозначите конец файла, он не будет записан.
А теперь подумайте, как он будет записываться на диск ...

P.S. Вас явно вводит в заблуждение EOF.

Попробуйте вместо него использовать - KONEC ... ;)
2010-01-28 00:44

Сообщений: 866

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

SimakinK,
запись файла это всегда последовательность вызовов ОС:
1. open()
2. write() повторенное один или боее раз
3. close()

по-другому не бывает. Проблемы случаются если другое приложение читает файл между write'ами или перед первым - файл уже есть но еще не полный. То что с вашей пользовательской точки зрения "файл появляется мгновенно и целиком" ни коим образом не отменяет вышеописанного правила. Просто последовательность шагов 1-3 для маленьких файлов занимает очень мало времени и ваши шансы поймать файл в промежуточном состоянии стремятся к нулю. Стремятся но не равны. И рано или поздно на стотысячной операции вы можете это таки словить.

Перенос же файла (mv) в пределах той же файловой системы - есть один вызов ОС - rename(). Операция атомарная и застать файл в промежуточном состоянии невозможно - либо его еще совсем нет в destination каталоге либо он уже там и целиком.
2010-01-28 04:24

Сообщений: 25

Re: язык сообщений Meetme && CALL file && PRI(DAHDI)

правильно говорит DIMAS,
но мы ведь не знаем как точно работает CAT ??
я проверял по описанному мной принципу, двумя консолями в одну вставляю текст, в другой пытаюсь читать этотже файл, его не сущуствует, пробовал вставлять бОльшой объём информации (порядка 1мб), файла не существует до обозначения EOF.
2010-01-28 09:14

1 2>
Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru