[Home]

Summary:ASTERISK-15129: Can't initiate outbound SIP calls when siren14 is the ONLY enabled codec
Reporter:Tom Browning (ttbrowning)Labels:
Date Opened:2009-11-12 14:43:11.000-0600Date Closed:2011-06-07 14:07:53
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Core/CodecInterface
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:Using either a spool file or CLI commands, Asterisk will never intiate an outbound SIP call when siren14 is the ONLY codec enabled.  Asterisk ultimately complains that: [Nov 12 14:59:27] WARNING[21376]: chan_sip.c:5735 sip_call: No audio format found to offer. Cancelling call to foo

Inbound calls work fine.  Attempts to make outbound calls never send an INVITE.

****** ADDITIONAL INFORMATION ******

Connected to Asterisk SVN-trunk-r229670 currently running on ast0a (pid = 21263)
Verbosity is at least 3
ast0a*CLI> core set debug 10
Core debug was 0 and is now 10
ast0a*CLI> core set verbose 10
Verbosity was 3 and is now 10
   -- Attempting call on SIP/foo@bar.com for demo@default:1 (Retry 1)
[Nov 12 14:59:26] DEBUG[21376]: chan_sip.c:24091 sip_request_call: Asked to create a SIP channel with formats: 0x40 (slin)
[Nov 12 14:59:26] DEBUG[21376]: chan_sip.c:7533 sip_alloc: Allocating new SIP dialog for 714829b87214de812679533648a1042e@10.1.1.148 - INVITE (No RTP)
[Nov 12 14:59:26] DEBUG[21376]: rtp_engine.c:328 ast_rtp_instance_new: Using engine 'asterisk' for RTP instance '0x8ac69e0'
[Nov 12 14:59:26] DEBUG[21376]: res_rtp_asterisk.c:423 ast_rtp_new: Allocated port 17804 for RTP instance '0x8ac69e0'
[Nov 12 14:59:26] DEBUG[21376]: rtp_engine.c:337 ast_rtp_instance_new: RTP instance '0x8ac69e0' is setup and ready to go
[Nov 12 14:59:26] DEBUG[21376]: res_rtp_asterisk.c:2197 ast_rtp_prop_set: Setup RTCP on RTP instance '0x8ac69e0'
[Nov 12 14:59:26] DEBUG[21376]: chan_sip.c:5251 do_setnat: Setting NAT on RTP to Off
[Nov 12 14:59:27] DEBUG[21376]: acl.c:499 ast_ouraddrfor: Found IP address for this socket
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:3851 ast_sip_ouraddrfor: Setting SIP_TRANSPORT_UDP with address 10.1.1.148:5060
[Nov 12 14:59:27] DEBUG[21376]: frame.c:1235 ast_codec_choose: Could not find preferred codec - Going for the best codec
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6964 sip_new: *** Our native formats are 0x40 (slin)
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6965 sip_new: *** Joint capabilities are 0x40 (slin)
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6966 sip_new: *** Our capabilities are 0x4000 (siren14)
[Nov 12 14:59:27] DEBUG[21376]: frame.c:1235 ast_codec_choose: Could not find preferred codec - Going for the best codec
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6967 sip_new: *** AST_CODEC_CHOOSE formats are 0x40 (slin)
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6969 sip_new: *** Our preferred formats from the incoming channel are 0x40 (slin)
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6997 sip_new: This channel will not be able to handle video.
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:5721 sip_call: Outgoing Call for foo
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:5932 update_call_counter: Updating call counter for outgoing call
[Nov 12 14:59:27] WARNING[21376]: chan_sip.c:5735 sip_call: No audio format found to offer. Cancelling call to foo
[Nov 12 14:59:27] NOTICE[21376]: channel.c:4389 __ast_request_and_dial: Unable to call channel SIP/foo@bar.com
[Nov 12 14:59:27] DEBUG[21376]: channel.c:2217 ast_hangup: Hanging up channel 'SIP/bar.com-00000000'
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6305 sip_hangup: Hangup call SIP/bar.com-00000000, SIP callid 61ef381059ba913a281ece1a529c7283@10.1.1.148
[Nov 12 14:59:27] DEBUG[21376]: chan_sip.c:6324 sip_hangup: Hanging up channel in state Down (not UP)
[Nov 12 14:59:27] DEBUG[21376]: res_rtp_asterisk.c:2218 ast_rtp_remote_address_set: Setting RTCP address on RTP instance '0x8ac69e0'
[Nov 12 14:59:27] NOTICE[21376]: pbx_spool.c:339 attempt_thread: Call failed to go through, reason (0) Call Failure (not BUSY, and not NO_ANSWER, maybe Circuit busy or down?)
[Nov 12 14:59:27] NOTICE[21376]: pbx_spool.c:342 attempt_thread: Queued call to SIP/foo@bar.com expired without completion after 0 attempts
[Nov 12 14:59:27] DEBUG[21274]: devicestate.c:338 _ast_device_state: No provider found, checking channel drivers for SIP - bar.com
[Nov 12 14:59:27] DEBUG[21274]: chan_sip.c:23997 sip_devicestate: Checking device state for peer bar.com
[Nov 12 14:59:27] DEBUG[21274]: devicestate.c:456 do_state_change: Changing state for SIP/bar.com - state 0 (Unknown)
[Nov 12 14:59:27] DEBUG[21274]: devicestate.c:436 devstate_event: device 'SIP/bar.com' state '0'
[Nov 12 14:59:27] DEBUG[21287]: app_queue.c:1232 handle_statechange: Device 'SIP/bar.com' changed to state '0' (Unknown) but we don't care because they're not a member of any queue.
[Nov 12 14:59:59] DEBUG[21305]: chan_sip.c:4155 __sip_autodestruct: Auto destroying SIP dialog '61ef381059ba913a281ece1a529c7283@10.1.1.148'
[Nov 12 14:59:59] DEBUG[21305]: chan_sip.c:6079 sip_destroy: Destroying SIP dialog 61ef381059ba913a281ece1a529c7283@10.1.1.148
[Nov 12 14:59:59] DEBUG[21305]: rtp_engine.c:276 instance_destructor: Destroyed RTP instance '0x8ac69e0'
Comments:By: Tilghman Lesher (tilghman) 2009-12-03 12:13:49.000-0600

The problem here is that you're using the call generator for the call, and the native format for that is signed linear (slin).  Since there is no codec translator available for siren14, Asterisk cannot make that translation, which is why it eliminates siren14 from the list of possible codecs.  Since your outbound only allows siren14, there are no codecs left for Asterisk to offer and accomplish a call.  This is why it refuses to offer a call.

At the current time, the ONLY way you can use siren14 is in a passthrough call (that is, where Asterisk makes no translation).  This will probably change in the future, but that is the state currently.

By: Tom Browning (ttbrowning) 2009-12-09 16:58:58.000-0600



I totally understand that Asterisk siren14 support is strictly passthrough.  The only aspect of siren14 support I am trying to use is to Record and Playback files.

Record and playback works great on inbound calls.  

I cannot, however, have Asterisk initiate an outbound call and simply Playback a siren14 file (and this technically just passthrough as well, the only difference being who sent the INVITE). I don't require any transcoding on the inbound calls and I don't require any transcoding on the outbound calls, hence my feeling that this is somewhat asymmetric.



By: Tilghman Lesher (tilghman) 2009-12-09 17:52:19.000-0600

Try adding the line:  codecs=siren7,siren14  to your spool file.  This will permit the spool file to use those codecs natively (as opposed to the slin default format alone).