Страница 2 из 5

Re: amr-nb в 10-ке

Добавлено: 19 фев 2013, 14:29
Samael28

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

--- asterisk-10.12.1-orig/codecs/Makefile       2013-02-17 16:03:16.000000000 +0000
+++ asterisk-10.12.1/codecs/Makefile    2013-02-18 18:38:02.000000000 +0000
@@ -98,3 +99,4 @@
        @$(MAKE) -C silk clean all
 $(if $(filter codec_silk,$(EMBEDDED_MODS)),modules.link,codec_silk.so): $(LIBSILK)

+$(if $(filter codec_amr,$(EMBEDDED_MODS)),modules.link,codec_amr.so): $(LIBAMR)
Просто сообщить, вот этот hunk падает :) Судя по всему, из-за отсутствия silk в оригинальной поставке :) Версия как раз 10.12.1

--
upd, Как я понял, собиралось все в 32х битном окружении?
Потому как мне в 64битном выдает

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

[LD] codec_amr.o amr/.libs/libamrnb.a -> codec_amr.so
/usr/bin/ld: amr/.libs/libamrnb.a(interf_dec.o): relocation R_X86_64_32S against `.rodata' can not be used when making a shared object; recompile with -fPIC
amr/.libs/libamrnb.a: could not read symbols: Bad value
collect2: ld returned 1 exit status
make[1]: *** [codec_amr.so] Error 1
make: *** [codecs] Error 2
Пока копаю гугль. Версия либы - http://ftp.penguin.cz/pub/users/utx/amr ... .0.tar.bz2

Re: amr-nb в 10-ке

Добавлено: 19 фев 2013, 15:11
Samael28
Вобщем, решилось по этой инструкции. При сборке кодека надо указывать CFLAGS = "-g -O2 -fPIC"

Re: amr-nb в 10-ке

Добавлено: 19 фев 2013, 16:03
Sfinx
Hunk от SILK'а можно убить вручную - посто SILK компилю вручную, а не ставлю глючный бинарник от digium. С -fPIC - да это решение просто у меня по умолчанию -fPIC стоит в spec файле компилятора ;)

Интересует работоспособность патча, так как в продакшн его еще не запускал.

Re: amr-nb в 10-ке

Добавлено: 19 фев 2013, 18:25
Samael28
Пока на CSipSimple мне звука добиться не удалось (сборка 0.04-05 r2133), сейчас отправил лог разработчику, похоже там у него какая-то бага с разбором sdp и amr. Во всяком случае логи пишут такое:

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

02-19 16:14:24.344  5355  5704 D libpjsip: 16:14:24.346  pjsua_media.c  .....Call 0: updating media..
02-19 16:14:24.344  5355  5704 E libpjsip: 16:14:24.346  pjsua_media.c  ......pjmedia_stream_info_from_sdp() failed for call_id 0 media 0: Invalid media payload type (PJMEDIA_EINVALIDPT)
02-19 16:14:24.344  5355  5704 E libpjsip: 16:14:24.346   pjsua_call.c  .....Unable to create media session: No active media stream after negotiation (PJMEDIA_SDPNEG_ENOMEDIA) [status=220048]
Про патч могу сказать пока то, что он работает :) В смысле, все собралось.

Re: amr-nb в 10-ке

Добавлено: 19 фев 2013, 18:49
Sfinx
Чтобы сказать что-либо конкретно, нужен SIP трейс звонка с астера. С версией 0.04-04 r1916 звук есть в обе стороны (тестились отдельно AMR и SILK).

P.S. Надеюсь комплект кодеков был поставлен на ондроед-девайс ? Taken from http://code.google.com/p/csipsimple :

"AMR (depending on device) and as extra plugin"

Re: amr-nb в 10-ке

Добавлено: 19 фев 2013, 20:30
Samael28
Пробовал 0.04-04 r1916. На ней тоже трабла. А вот AMR(depending on device) меня настораживает. А экстра-кодеки, я так понимаю - это OPUS; g726; g722.1. Они-то установлены, но ничего не меняется.
SIP трейс простой.
INVITE -> TRYING -> OK (Тут Asterisk делает Answer) -> BYE (от CSipSimple)

А если не секрет, какой у Вас ведроид?

Re: amr-nb в 10-ке

Добавлено: 19 фев 2013, 21:59
Sfinx
В GooglePlay идет отдельно два пакета, один - CSIPSimple, второй - кодеки и либы (CSIPSimple codec pack). Ставить нужно оба. У меня древний ондроид 2.3.4 на HTC Evo 3D. Я бы на Вашем месте проверил CSIPSImple на другом рабочем астере с AMR кодеком (for example 1.6/1.8).

По трейсу: ежу понятно, что отбивается. Что там в SDP конретно такое, что pjsip не в состоянии распарсить ?

Re: amr-nb в 10-ке

Добавлено: 20 фев 2013, 00:48
Samael28
У меня ондроед еще древнее - 2.2.2 (Motorola XPRT)
Пробовал на версии 1.8 (тот патч, что писал ранее) - тот же результат. При этом та же Kapanga нормально отработала. Кстати, надо будет Kapang'у с этим патчем проверить, как-то забыл про нее.

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

SIP/2.0 200 OK
Via: SIP/2.0/TLS 192.168.1.154:36395;branch=z9hG4bKPjgigUIeJDp4MOutLvoUag3lDvxxe6L-OZ;received=<external IP>;rport=36395
From: "Igor" <sip:600@<provider ip>>;tag=53gfySmZJUX2D-CJ5hk4.og6BR24aklG
To: <sip:5@<provider ip>>;tag=as7927d5f7
Call-ID: paDux2l-VVzPu9xT3qOeP7h8DnuYU0La
CSeq: 8980 INVITE
Server: Asterisk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Supported: replaces
Contact: <sip:5@<provider ip>:5061;transport=TLS>
Content-Type: application/sdp
Content-Length: 363

v=0
o=Asterisk 760197340 760197340 IN IP4 <provider ip>
s=Asterisk
c=IN IP4 <provider ip>
t=0 0
m=audio 11868 RTP/SAVP 108 101
a=rtpmap:108 AMR/8000
a=fmtp:108 octet-align=1
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-16
a=silenceSupp:off - - - -
a=ptime:20
a=sendrecv
a=crypto:1 AES_CM_128_HMAC_SHA1_80 inline:XXXXXXXXXXX
Вот после этого пакета - привет. Причем то, что это TLS/SRTP - на вопрос не влияет.

Re: amr-nb в 10-ке

Добавлено: 20 фев 2013, 11:12
Sfinx
a=fmtp:108 octet-align=1
Дык, а я что разве не говорил что CSIPSimple работает только в byte-efficient mode ? ;)

Re: amr-nb в 10-ке

Добавлено: 20 фев 2013, 13:11
Samael28
Да, действительно. Вот, что значит, когда не хватает знаний.

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

[amr]
octet-aligned=0
mode = MR475
dtx=0
cng = 1
vad = 0
С такой конфигурацией работает.