Unable to determine codec descriptor on outbound calls (Asterisk + UniMRCP)

16 views
Skip to first unread message

Fernando Lopes

unread,
Sep 30, 2025, 5:53:09 AMSep 30
to UniMRCP

Hello everyone,

I’m having an issue using UniMRCP with Asterisk. When I create an outbound call, I get the error: Unable to determine codec descriptor

This only happens with outbound calls — inbound calls work fine.

Here’s the relevant part of my mrcp.conf:

codecs = PCMU PCMA G722 L16/96/8000 telephone-event/101/8000

And here’s a snippet from my Asterisk logs:

NOTICE: app_synthandrecog.c:1404 app_synthandrecog_exec: SynthAndRecog() prompt: 1759222897.0`351928024051`Olá , xxx?`TTS_MS`Dev`phone-sip
NOTICE: app_synthandrecog.c:1412 app_synthandrecog_exec: SynthAndRecog() grammar: builtin:1759222897.0`ASR_MS`Dev
NOTICE: app_synthandrecog.c:1428 app_synthandrecog_exec: SynthAndRecog() options: b=2&sit=0&dmd=6&nit=0&dtt=3000&sbs=1
NOTICE: src/mrcp_application.c:117 Create MRCP Handle 0x70b200033178 [speech-unimrcp-mrcp2]
NOTICE: src/mrcp_client_session.c:131 Create Channel ASR-0 <new>
NOTICE: src/mrcp_client_session.c:385 Receive App Request ASR-0 <new> [2]
NOTICE: src/mrcp_client.c:697 Add MRCP Handle ASR-0 <new>
NOTICE: src/mrcp_client_session.c:717 Add Control Channel ASR-0 <new@speechrecog>
NOTICE: src/mrcp_client_session.c:409 Send Offer ASR-0 <new> [c:1 a:1 v:0] to 172.18.0.4:80
NOTICE: src/mrcp_sofiasip_client_agent.c:357 Local SDP ASR-0 <new>
NOTICE: src/mrcp_sofiasip_client_agent.c:617 Receive SIP Event [nua_i_state] Status 0 INVITE sent [speech-unimrcp-mrcp2]
NOTICE: src/mrcp_sofiasip_client_agent.c:555 SIP Call State ASR-0 [calling]
NOTICE: src/mrcp_sofiasip_client_agent.c:617 Receive SIP Event [nua_r_invite] Status 200 OK [speech-unimrcp-mrcp2]
NOTICE: src/mrcp_sofiasip_client_agent.c:617 Receive SIP Event [nua_i_state] Status 200 OK [speech-unimrcp-mrcp2]
NOTICE: src/mrcp_sofiasip_client_agent.c:555 SIP Call State ASR-0 [ready]
NOTICE: src/mrcp_sofiasip_client_agent.c:441 Remote SDP ASR-0 <new>
NOTICE: src/mrcp_sofiasip_client_agent.c:617 Receive SIP Event [nua_i_active] Status 200 Call active [speech-unimrcp-mrcp2]
NOTICE: src/mrcp_client_session.c:149 Receive Answer ASR-0 <new> [c:1 a:1 v:0] Status 200
NOTICE: src/mrcp_client_connection.c:346 Established TCP/MRCPv2 Connection 172.18.0.6:43326 <-> 172.18.0.5:1544
NOTICE: src/mrcp_client_connection.c:456 Add Control Channel <5585b0d2baa14f48@speechrecog> 172.18.0.6:43326 <-> 172.18.0.5:1544 [1]
NOTICE: src/mrcp_client_session.c:453 Raise App Response ASR-0 <5585b0d2baa14f48> [2] SUCCESS [0]
ERROR: app_synthandrecog.c:248 speech_on_channel_add: (ASR-0) Unable to determine codec descriptor
NOTICE: src/mrcp_client_session.c:385 Receive App Request ASR-0 <5585b0d2baa14f48> [1]
NOTICE[3119]: src/mrcp_client_session.c:828 Terminate Session ASR-0 <5585b0d2baa14f48>
NOTICE: src/mrcp_client_connection.c:480 Remove Control Channel <5585b0d2baa14f48@speechrecog> [0]
NOTICE: src/mrcp_client_connection.c:407 Close TCP/MRCPv2 Connection 172.18.0.6:43326 <-> 172.18.0.5:1544
NOTICE: src/mrcp_sofiasip_client_agent.c:617 Receive SIP Event [nua_r_bye] Status 200 OK [speech-unimrcp-mrcp2]
NOTICE[3122]: src/mrcp_sofiasip_client_agent.c:617 Receive SIP Event [nua_i_state] Status 200 to BYE [speech-unimrcp-mrcp2]
NOTICE[3122]: src/mrcp_sofiasip_client_agent.c:555 SIP Call State ASR-0 [terminated]
NOTICE: src/mrcp_client_session.c:207 Session Terminated ASR-0 <5585b0d2baa14f48>
NOTICE: src/mrcp_client_connection.c:243 Destroy TCP/MRCPv2 Connection 172.18.0.6:43326 <-> 172.18.0.5:1544
NOTICE: src/mrcp_client.c:707 Remove MRCP Handle ASR-0 <5585b0d2baa14f48>
NOTICE: src/mrcp_client_session.c:453 Raise App Response ASR-0 <5585b0d2baa14f48> [1] SUCCESS [0]
NOTICE: src/mrcp_application.c:211 Destroy MRCP Handle ASR-0
NOTICE: app_synthandrecog.c:1366 synthandrecog_exit: SynthAndRecog() exiting status: ERROR on Local/351928024051@outgoing-00000000;1

Has anyone run into this before? Is there a way to force or explicitly define the codec for outbound MRCP sessions?

Any guidance would be appreciated!

Thank you.

Fernando Lopes

unread,
Sep 30, 2025, 6:45:36 AMSep 30
to UniMRCP
Asterisk is offering
v=0
o=Asterisk 3313763754536664325 630252266894049620 IN IP4 172.18.0.6
s=-
c=IN IP4 172.18.0.6
t=0 0
m=application 9 TCP/MRCPv2 1
a=setup:active
a=connection:new
a=resource:speechrecog
a=cmid:1
m=audio 10042 RTP/AVP 0 8 96 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:96 L16/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendonly
a=ptime:20
a=mid:1

but unimrcp returns this

v=0
o=UniMRCPServer 8847237860356898052 7319145054901398247 IN IP4 172.18.0.5
s=-
c=IN IP4 172.18.0.5
t=0 0
m=application 1544 TCP/MRCPv2 1
a=setup:passive
a=connection:new
a=channel:f75c3a8e522a4c95@speechrecog
a=cmid:1
m=audio 0 RTP/AVP 19

David Villasmil

unread,
Sep 30, 2025, 10:54:19 AMSep 30
to uni...@googlegroups.com
Did you check the logs on unimrcp?

Regards,

David Villasmil



--
You received this message because you are subscribed to the Google Groups "UniMRCP" group.
To unsubscribe from this group and stop receiving emails from it, send an email to unimrcp+u...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/unimrcp/4a4c9529-ae02-4cb7-9d21-0696d63c074cn%40googlegroups.com.

David Villasmil

unread,
Sep 30, 2025, 10:58:18 AMSep 30
to uni...@googlegroups.com
Here’s what I have in unimrcpserver.xml

<settings>
<!-- RTP/RTCP settings -->
<rtp-settings id="RTP-Settings-1">
<jitter-buffer>
<adaptive>1</adaptive>
<playout-delay>50</playout-delay>
<max-playout-delay>600</max-playout-delay>
<time-skew-detection>1</time-skew-detection>
</jitter-buffer>
<ptime>20</ptime>
<codecs own-preference="false">PCMU PCMA L16/96/8000 telephone-event/101/8000</codecs>
<!-- Enable/disable RTCP support -->
<rtcp enable="false">
<!--
RTCP BYE policies (RTCP must be enabled first)
0 - disable RTCP BYE
1 - send RTCP BYE at the end of session
2 - send RTCP BYE also at the end of each talkspurt (input)
-->
<rtcp-bye>1</rtcp-bye>
<!-- RTCP transmission interval in msec (set 0 to disable) -->
<tx-interval>5000</tx-interval>
<!-- Period (timeout) to check for new RTCP messages in msec (set 0 to disable) -->
<rx-resolution>1000</rx-resolution>
</rtcp>
</rtp-settings>
</settings>


Regards,

David Villasmil

Reply all
Reply to author
Forward
0 new messages