Перейти к содержанию
    

Программно обрабатывать VoIP

Пока не знаю что такое SIP

SIP -это протокол , в который засовывают VoIP.

Например.

 

проект интернет-радио на базе 8-бит процессора

Помоему, вы слегка лукавите, играет там у вас не сам 8-бит процессор.

Найдете "железный" кодек и делайте хоть на лампах. :)

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Помоему, вы слегка лукавите, играет там у вас не сам 8-бит процессор.

Найдете "железный" кодек и делайте хоть на лампах. :)

Естественно. Там играет МП3 аппаратно. Интернет и shouеcast протоколы обрабатываются программно. Но для данного случая меня интересует возможность программного кодирования/декодирования VoIP.

Но лично пробовал бы делать вообще без сжатия, передавая по сети PCM данные. VoIP только ради совместимости с http://echolink.ru например.

 

i.MX233

Одноплатный компьютер на базе MX233 - 4730 руб. chipdip.ru/

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но для данного случая меня интересует возможность программного кодирования/декодирования VoIP.

Одноплатный компьютер на базе MX233 - 4730 руб. chipdip.ru/

Ну так и выбирайте адекватный процессор.

 

Чипдип не показатель, там простой резистор 8р стоит. :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Так я уже выбрал процессор из имеющихся о котором упомянул в первом посте. Теперь остается изучить возможность программной реализации VoIP на базе упомянутого процессора. Иначе PCM или доступный внешний аппаратный кодек.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Но лично пробовал бы делать вообще без сжатия, передавая по сети PCM данные.
Это будет работать только в локальной сети.

В больших сетях пакеты могут теряться, приходить не в том порядке в котором отправили, интервал между пакетами будет разниться.

Наиболее простое решение для вас использовать голый RTP, RTCP протокол с Alaw и ulaw компандированием.

И очень даже может быть что получится сделать на 8 битном контроллере.

Но я бы все-таки не стал так делать. Хотя бы 32 битный контроллер.

Для отладки можно использовать Wireshark. Он легко воспроизводит звук из этого протокола.

 

Устройство которое вы хотите сделать называется RoIP.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ваши ссылки посмотрю.

Насколько помню, упорядочиванием пакетов занимается TCP, а для беспрерывной пересылки пакетов делается небольшой буфер. Например в случае интернет-радиоприемника делается буфер размером 64 КБ для временного хранения аудиопотока длительностью нескольких секунд. За несколько секунд приходят обычно все пакеты. Прерывание или искажение звучания крайне редкое явление которое даже трудно вспомнить. Но для переговорного варианта естественно буфер памяти будет рассчитан на задержку не более 1 секунды. Время переключения радиостанций, с передачи на прием.

Изменено пользователем Herz
Избыточное цитирование

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таких применениях обычно используют UDP а не TCP.

Лучше потерять пакет и интерполировать его чем ждать пока его восстановит TCP.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В таких применениях обычно используют UDP а не TCP.

Лучше потерять пакет и интерполировать его чем ждать пока его восстановит TCP.

Так там всего то надо менее 200 кбит/сек в PCM кодировке звукового сигнала при современном то развитии сетей.

 

6000 Гц * 8 бит = 48 кбит/сек. хорошее разговорное качество в контексте любительских УКВ радиостанций. А больше встроенный АЦП микроконтроллера наверное не обработает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сейчас мне таким видится интернет радиолюбительский репитер

 

obzor_MK_repiter.gif

 

Описание пишу здесь

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SIP -это протокол , в который засовывают VoIP.

 

Я бы уточнил, что операции регламентируемые SIP используют перед тем как начать засовывать VOIP в поток в соответствии RTP рекомендациями. Формально в RTP засовывают VOIP.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

SIP это один из видов сигналинга, используемый для установки соединения и обозначения своего местоположения в VoIP сети, то есть, где искать конкретного абонента (какой у него в данный момент IP). В свою очередь, в теле SIP пакетов шлются SDP сообщения, в которых описываются возможности клиентов, а именно, поддерживаемые кодеки, частоты дискретизаций, in-band сигналинга, адреса, куда слать пакеты с голосом (или видео), UDP порты. После того, как параметры сессии согласованы устройствами, запускается мультимедиа поток, то есть сам голос (либо видео), чаще всего для этого используется RTP.

 

Слесарью, для реализации RoIP на 8-бит камне, SIP нафиг не нужен. Для связных УКВ радиостанций достаточно частоты дискретизации 8000 Гц и 16 бит на семпл. Это все, сжимается u-Law (или a-Law) кодеком, фактически это просто компандирование. В результате получается поток 64 кбит/с. Камня должно на это хватить. И далее, шлется простым UDP пакетом с минимальным заголовком на IP получателя.

 

По поводу джиттера и порядка пакетов.

 

Да, необходимо иметь буфер, на 0.8 - 1 секунду, так как, через интернет, пакеты могут приходить с сильным разбросом по времени, то раньше, то позже.

 

На порядок же пакетов в общем можно забить. Да, иногда пакеты могут прилетать не в том порядке, но далеко не многие VOIP АТС и VOIP телефоны восстанавливают порядок. Чаще всего, это интерпретируется как пропажа пакета, в современных, нормальных, не перегруженных сетях, пакеты прилетают в правильном порядке. Я имею достаточно большой опыт именно в RoIP, и могу точно сказать, что смена порядка пакетов не сильно страшное явление, проблем особых не доставляет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Понятно.

Продолжаю думать в этом направлении...

 

Одно непонятно, почему 16-бит, а не 8 бит ?

Обычный звук ПК и тот 8 бит.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Понятно.

Продолжаю думать в этом направлении...

 

Одно непонятно, почему 16-бит, а не 8 бит ?

Обычный звук ПК и тот 8 бит.

 

В ВОИП используют логарифмическое сжатие (в Европе A-law, а в USA u-Law мю-закон), которое позволяет засунуть в 8 бит 16 битное значение, что облегчает передачу по каналу связи.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо! Понятно.

Продолжаю думать в этом направлении...

 

Одно непонятно, почему 16-бит, а не 8 бит ?

Обычный звук ПК и тот 8 бит.

 

 

При 8-бит слишком плохое качество голоса выходит. Разобрать можно конечно, но по современным меркам, не комильфо. u-Law кодирование даст те же 8 бит, но качество речи выйдет сильно лучше.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...