• Пишем скрипты для Cisco AXL

      Фирма, в которой я работаю, для IP-телефонии использует в том числе и Cisco Unified Communications Manager (CUCM). В один прекрасный момент мне понадобилось автоматически отслеживать состояние телефонов — а именно, зарегистрированы ли они, находятся ли они в Hunt Group и т.п. Несколько часов усиленного гуглежа, собирание скудной информации по кусочкам, и начали появляться более-менее работоспособные скрипты. Ими я и поделюсь в этой статье. Версия моего CUCM — 7.1.5, IP-адрес предполагается 10.0.0.10. Скрипты будут на PHP, но можно запросто переписать на любой другой язык.
      Читать дальше →
    • Простейшее голосовое меню на Cisco VoiceXML

        Неподготовленному человеку, который захочет написать самое простецкое голосовое меню с использованием языка VoiceXML на голосовом шлюзе от компании Cisco, предстоит наступить на множество граблей. Некоторые из них я отмечу в этой статье. Вполне возможно, что какой-нибудь Cisco-специалист фыркнет и скажет, что это всё элементарщина, но тем не менее, когда передо мной встала эта задача, я не знал с чего начать. Google не давал сколько-нибудь толковых примеров готовых IVR. Единственной более-менее хорошей исходной точкой послужила эта статья. Мой хабравопрос также не дал особых результатов. Но отбросим лирику и перейдем к делу. Предположим, что у нас есть голосовой шлюз Cisco, поддерживающий выполнение скриптов на языке VoiceXML (например, Cisco 3925). Будем разрабатывать голосовое меню, показанное на картинке. В рабочие часы будет воспроизводиться приветствие и звонок будет переводиться на заданный внутренний номер, в нерабочее и выходные — специальное объявление, что, мол, звоните по будням.

        Читать дальше →
      • Вещание AAC-потока с помощью Icecast2 и streamTranscoder

          Недавно у меня встала задача транслировать радиопоток и поток онлайн-трансляции подкаста, в формате AAC (Advanced Audio Coding). Этот формат является более экономичным, чем MP3, и в то же время позволяет сохранять приемлемое качество звучания. По субъективным ощущениям 48Kbps AAC не отличается от 64Kbps MP3. В этой краткой заметке опишу, как я настраивал одновременное вещание в форматах MP3 128Kbps, MP3 64Kbps и AAC 48Kbps. При этом я воспользовался OpenSource-инструментом streamTranscoderv3, о котором, почему-то, на хабре не было ни слова. Принцип работы streamTranscoder изображен на рисунке. Далее, как его собрать и использовать.
          Читать дальше →
        • Текстовая онлайн-трансляция при большой нагрузке



            Большую роль в жизни нашего сайта играют онлайн-трансляции презентаций Apple. Помимо текстово-графической трансляции, которые делают многие русскоязычные ресурсы, мы предлагаем нашим читателям вести обсуждение в чате, а также ведем прямой аудио-эфир с комментариями всего происходящего. Как и в предыдущие разы, нашим постоянным ведущим помогали Кира Тверская (Эхо Москвы) и Эльдар Муртазин. Такой живой формат позволяет нам слышать реакцию ведущих в режиме реального времени, что согласитесь, довольно интересно.

            В прошлый раз на презентации iPhone 4S мы немного оплошались, и не смогли достойно подготовиться к наплыву посетителей (к слову, было около 3500 клиентов). Главной ошибкой было то, что страница трансляции представляла собой вывод плагина Wordpress, соответственно при каждом обращении дергался не только сам интерпретатор PHP, но и вся система Wordpress. После проведения трансляции стало очевидно, что от такой позорной схемы надо избавляться.

            Ходят слухи, что в марте компания Apple представит новую версию своего планшетника iPad 3. Нам повезло, и 19 января мы смогли обкатать новую схему трансляции на гораздо меньшей нагрузке, чем будет в марте. По понятным причинам, людей, заинтересованных в образовательной презентации Apple, было намного меньше.

            Онлайн-трансляция у нас проводилась по всем фронтам — текстовая трансляция с фотографиями мероприятия, аудиопоток и чат, в котором люди могли обсудить происходящее друг с другом. Далее я расскажу о технологии, с помощью которой была организована текстовая трансляция.
            Читать дальше →
          • Онлайн-концерт в облаках

              Ресурс Appleinsider.ru запускает новый, не имеющий аналогов в российском интернет-сегменте проект по онлайн-трансляции живых выступлений как молодых музыкальных коллективов, так и именитых музыкантов. Периодичность мероприятия — около 2-х трансляций в месяц.

              Первопроходцами 6 декабря стали Федор Чистяков & F4BAND (экс-солист группы НОЛЬ). Во время прямого эфира было около 300 человек, которые смогли оценить чистый студийный звук и атмосферу живого концерта.

              Для этой трансляции компания Clodo выделила нам свои мощности и канал шириной 500 мегабит/секунду. Для довольно качественного битрейта потока в 128 килобит/сек это означало 4000 клиентов «в вакууме». Мы предполагали, что придет до 2000 слушателей и перестраховались, однако на этот раз не удалось достичь договоренности с партнерами и наши оценки аудитории оказались сильно заниженными. Попытка привести заинтересованный народ с хабра закончилась баном хабратоварища Dudlik.

              Тем не менее, нам довольно успешно удалось провести концерт. Вкратце о технической реализации — мы использовали программу Icecast2 на нескольких серверах, с балансировкой нагрузки с помощью самописного bash-скрипта. Подробнее под катом.
              Читать дальше →
            • Всесторонняя оптимизация сайта на WordPress

                Уважаемые жители Хабра!

                Вашему вниманию представляется история о том, как мы оптимизировали свой сайт. Сайт работает на движке Wordpress (на этой фразе большинство читателей должны поморщиться, зная, как обстоят дела у WordPress со скоростью). Однако все-таки у нас получилось, и сайт стал летать. Сразу скажу, что меня вряд ли можно считать профессионалом по серверной оптимизации, однако то, чего удалось достичь, меня сильно радует. Также, был получен бесценный опыт, которым я хочу поделиться с читателями Хабра.
                Читать дальше →