Hi,
chan-sip.c in release 11 and 12 is dropping sip calls in which no common
audio media is negotiated, regardless of if other media are negotiated.
There are very valid cases when a call is wanted with any combination of
video and text, but no audio.
One place where calls without audio are blocked is in the function:
sip_request_call
Where a comment in the beginning says:
/* mask request with some set of allowed formats.
* XXX this needs to be fixed.
* The original code uses AST_FORMAT_AUDIO_MASK, but it is
* unclear what to use here. We have global_capabilities, which is
* configured from sip.conf, and sip_tech.capabilities, which is
* hardwired to all audio formats.
*/
And then an audio-less call is blocked by this statement:
if (!(ast_format_cap_has_type(cap, AST_FORMAT_TYPE_AUDIO))) {
ast_log(LOG_NOTICE, "Asked to get a channel of unsupported
format %s while capability is %s\n",
ast_getformatname_multiple(tmp, sizeof(tmp), cap),
ast_getformatname_multiple(tmp2, sizeof(tmp2), sip_cfg.caps));
*cause = AST_CAUSE_BEARERCAPABILITY_NOTAVAIL; /* Can't find
codec to connect to host */
return NULL;
---------
There is a similar check for outgoing calls in chan-sip.c function
sip_call :
/* If there are no audio formats left to offer, punt */
if (!(ast_format_cap_has_type(p->jointcaps, AST_FORMAT_TYPE_AUDIO))) {
ast_log(LOG_WARNING, "No audio format found to offer.
Cancelling call to %s\n", p->username);
res = -1;
I suggest that the check in both these places is replaced with a check
for any common supported media and codec.
Something like:
if (!(ast_format_cap_has_type(cap,
(AST_FORMAT_TYPE_AUDIO||AST_FORMAT_TYPE_VIDEO||AST_FORMAT_TYPE_TEXT))) {
Or would it be preferred to create a combined mask for all valid SIP
media formats in frame.h ?
(Pjsip should be checked for the same problem.)
Regards
Gunnar
--
------------------------------------------------------------------------
Gunnar Hellström
Omnitor
[email protected]
--
_____________________________________________________________________
-- Bandwidth and Colocation Provided by http://www.api-digital.com --
asterisk-dev mailing list
To UNSUBSCRIBE or update options visit:
http://lists.digium.com/mailman/listinfo/asterisk-dev