res_pjsip: Add option to force G.726 to be treated as AAL2 packed.

Some phones send g.726 audio packed for AAL2, which differs from what is
recommended by RFC 3351. If Asterisk receives audio formatted as such when
negotiating g.726 then it sounds a bit distorted. Added an option to
res_pjsip_endpoint that allows g.726 negotiated audio to be treated as g.726
AAL2 packed.

ASTERISK-25158 #close
Reported by: Steve Pitts

Change-Id: Ie7e21f75493d7fe53e75e12c971e72f5afa33615
This commit is contained in:
Kevin Harwell
2015-06-12 16:58:27 -05:00
parent b8bc15286f
commit 93ac45d3bd
7 changed files with 64 additions and 6 deletions

View File

@@ -0,0 +1,30 @@
"""add g726_non_standard
Revision ID: 28b8e71e541f
Revises: a541e0b5e89
Create Date: 2015-06-12 16:07:08.609628
"""
# revision identifiers, used by Alembic.
revision = '28b8e71e541f'
down_revision = 'a541e0b5e89'
from alembic import op
import sqlalchemy as sa
from sqlalchemy.dialects.postgresql import ENUM
YESNO_NAME = 'yesno_values'
YESNO_VALUES = ['yes', 'no']
def upgrade():
############################# Enums ##############################
# yesno_values have already been created, so use postgres enum object
# type to get around "already created" issue - works okay with mysql
yesno_values = ENUM(*YESNO_VALUES, name=YESNO_NAME, create_type=False)
op.add_column('ps_endpoints', sa.Column('g726_non_standard', yesno_values))
def downgrade():
op.drop_column('ps_endpoints', 'g726_non_standard')