VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

[РЕШЕНО] AGI: write() returned error: Broken pipe

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: AGI: write() returned error: Broken pipe

Сообщение Glukinho »

Я обычно в таких случаях запускаю агишку просто из консоли, без астера (только лучше от пользователя, под которым астер запущен), и смотрю, чего она просит в STDIN и чего выдает в STDOUT, и когда.
Аватара пользователя
Wapo
Сообщения: 795
Зарегистрирован: 02 мар 2011, 17:53

Re: AGI: write() returned error: Broken pipe

Сообщение Wapo »

Там речь идет об OpenWrt - это уж из другой оперы.

Я, обычно, игнорирую данную ошибку - переменные отправлены/переменные получены - ну и ОК.
Glukinho
Сообщения: 661
Зарегистрирован: 07 янв 2011, 20:05

Re: AGI: write() returned error: Broken pipe

Сообщение Glukinho »

Ну а чего из другой, иди в консоль да запускай скрипт, не вижу проблемы)
booBot
Сообщения: 40
Зарегистрирован: 09 май 2016, 16:56

Re: AGI: write() returned error: Broken pipe

Сообщение booBot »

В консоли я отлаживал этот сценарий, всё выглядит (на мой взгляд) нормально.

Попробовал перенаправить stderr в stdout:

Код: Выделить всё

#!/bin/ash
# MNP checking script.
# AGI expects it to be in /var/lib/asterisk/agi-bin/
# The script accepts a 10-digit number
# The OP variable is set to YYYY[:ZZZZ] string,
# where YYYY is the original serving operator code,
# and ZZZZ is a "moved to" operator code if the subscriber
# has done MNP. If no MNP move was done - only YYYY is returned.

while read VAR && [ -n ${VAR} ] ; do : ; done
USERAGENT='asterisk v1.8.32.3'
printf "SET VARIABLE OP $(/usr/bin/wget 2>&1 -O - -q -T 5 -U "$USERAGENT" "http://rosreestr.subnets.ru/index.php?get=num&num=$1" |/bin/grep -o 'operatorID: [0-9]\+' |/bin/sed 's/operatorID: //' |/bin/sed 'N;s/\n/:/')"
read RESPONSE
sleep 1s
exit 0
Ошибка остаётся.
asterisk v1.8.32.3 под OpenWrt CC 15.05.1 на Asus WL-330N3G + Huawei E3131s-2 + 8GB miniSDHC в считывателе модема (для ПО, включен pivot overlay).
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: AGI: write() returned error: Broken pipe

Сообщение virus_net »

Wapo писал(а):Там речь идет об OpenWrt - это уж из другой оперы.
это так, но никто не мешает отладить скрипт на компе
скорее всего у тебя остается перевод каретки (перенос строки) после исполнения команды wget, отсюда и ошибка
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
booBot
Сообщения: 40
Зарегистрирован: 09 май 2016, 16:56

Re: AGI: write() returned error: Broken pipe

Сообщение booBot »

Когда я запускаю этот сценарий вручную - по его завершению prompt остаётся на той же строке, куда сценарий только что напечатал ответ сервера:

Код: Выделить всё

root@OpenWrt:~#/var/lib/asterisk/agi-bin/mnp_chk-v2.sh 9219876543
SET VARIABLE OP 1234root@OpenWrt:~#
Перехода на новую строку не происходит.

Добавить sed 's/\n//g' в конец строки преобразования?
Сейчас попробую...
asterisk v1.8.32.3 под OpenWrt CC 15.05.1 на Asus WL-330N3G + Huawei E3131s-2 + 8GB miniSDHC в считывателе модема (для ПО, включен pivot overlay).
booBot
Сообщения: 40
Зарегистрирован: 09 май 2016, 16:56

Re: AGI: write() returned error: Broken pipe

Сообщение booBot »

Добавил /bin/sed 's/\n//g', не помогло.

EDIT:
/bin/sed 's/\r//g' тоже не помогло.
asterisk v1.8.32.3 под OpenWrt CC 15.05.1 на Asus WL-330N3G + Huawei E3131s-2 + 8GB miniSDHC в считывателе модема (для ПО, включен pivot overlay).
booBot
Сообщения: 40
Зарегистрирован: 09 май 2016, 16:56

Re: AGI: write() returned error: Broken pipe

Сообщение booBot »

/bin/sed 's/\n//g;s/\r//g' - хоть и не помогло, оставил так.

Какие ещё могут быть причины ошибки?
asterisk v1.8.32.3 под OpenWrt CC 15.05.1 на Asus WL-330N3G + Huawei E3131s-2 + 8GB miniSDHC в считывателе модема (для ПО, включен pivot overlay).
gland
Сообщения: 115
Зарегистрирован: 25 янв 2012, 11:07

Re: AGI: write() returned error: Broken pipe

Сообщение gland »

Процесс, в который что-то передаётся/из которого что-то читается на тот момент уже не существует, нет?
booBot
Сообщения: 40
Зарегистрирован: 09 май 2016, 16:56

Re: AGI: write() returned error: Broken pipe

Сообщение booBot »

Как это можно проверить, и из-за чего это может происходить?
asterisk v1.8.32.3 под OpenWrt CC 15.05.1 на Asus WL-330N3G + Huawei E3131s-2 + 8GB miniSDHC в считывателе модема (для ПО, включен pivot overlay).
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH