[asterisk-bugs] [JIRA] (ASTERISK-20461) channel originate Local/foo * forces translation via slin

Jaco Kroon (JIRA) noreply at issues.asterisk.org
Sun Jun 30 14:43:03 CDT 2013


    [ https://issues.asterisk.org/jira/browse/ASTERISK-20461?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=207566#comment-207566 ] 

Jaco Kroon commented on ASTERISK-20461:
---------------------------------------

So I've been staring at a much simpler version of app_originate in 11.X compared to 1.8.X - and something did eventually raise a few question marks, specifically we're adding capabilities for various incarnations of SLINEAR, but surely the Local/ chan is able to pass-through pretty much ANY format?  Including video, text, t38 and others, so (keeping in mind that I would not consider myself an expert in any definition of the word when it comes to asterisk code) why do we only add capability for slinear?  Why not simply use ast_format_cap_add_all() for adding all capabilities and being done with it?

Then I realized that trying to just swap this to G729A didn't fix my use-case any more.  And went looking and found three locations for "updating" this:

1.  apps/app_originate.c
2.  main/manager.c (does this belong here?!)
3.  res/res_clioriginate.c

Surely that would (should) allow for a more appropriate native format being negotiated when ;1 answers and allow for passing that through to ;2 resulting in direct pass-through instead of transcoding via slin?  But this too doesn't actually work (will attach patch for reference anyway, perhaps it can spark an idea in someone else - it seems to aim for SLINEAR192 for some reason and then transcode path gets even worse - ie, g729 => slinear => slinear192 => slinear => g729).

 WriteTranscode: Yes (slin192)->(slin)->(g729)
  ReadTranscode: Yes (g729)->(slin)->(slin192)

For the moment I once more reverted to just adding AST_FORMAT_G729A as the only capability instead of SLINEAR, which solves my use-case but most certainly does not cover the generic case.
                
> channel originate Local/foo * forces translation via slin
> ---------------------------------------------------------
>
>                 Key: ASTERISK-20461
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-20461
>             Project: Asterisk
>          Issue Type: Improvement
>      Security Level: None
>          Components: Applications/app_originate, Channels/chan_local
>    Affects Versions: 1.8.12.2, 1.8.15.1
>            Reporter: Jaco Kroon
>         Attachments: asterisk-chan_local_g729.patch, asterisk-originate-with-all.patch, asterisk-originate-with-g729.patch, slin.txt, trace.txt
>
>
> The simplest example of this is with a SIP and an IAX2 endpoint available, eg SIP/102 and IAX2/upstream, both configured with disallow=all; allow=g729 with codecs from digium loaded.
> cli> originate Local/102 at aanswer Dial IAX2/upstream/number
> once connected a g729 show licenses will show that two encoders and two decoders are in use.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.asterisk.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira



More information about the asterisk-bugs mailing list