-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3304/
-----------------------------------------------------------
Review request for Asterisk Developers, George Joseph, Kevin Harwell, and Matt
Jordan.
Bugs: ASTERISK-23235
https://issues.asterisk.org/jira/browse/ASTERISK-23235
Repository: Asterisk
Description
-------
As was discussed on the mailing list, current behavior of the 'tos' setting for
PJSIP transports is to interpret this value as a DSCP value. The tos settings
(tos_audio/tos_video) for PJSIP endpoints on the other hand are interpreted as
TOS values as their name would imply. This patch changes the transport TOS
value to comply with the old behavior and allows for all TOS values to be set
as strings from the DSCP string pool using the ast_str2tos function.
Upon examining the alembic scripts (which needed to be updated to allow for
string values on the TOS settings), I noticed that both TOS and COS values (all
of them) were set to YES/NO enum values. Obviously that's not proper since COS
is an integer between 0 and 7 and TOS was previously an integer as well. Since
I had to fix TOS anyway, I went ahead and updated the COS values to use
integers as well.
NOTE: This is phase 1 of the effort. Phase 2 will deprecate the TOS values for
both object types in favor of more modern DSCP fields. The TOS values will
remain usable, but the DSCP values will override them if present.
Diffs
-----
/branches/12/res/res_pjsip/pjsip_configuration.c 409678
/branches/12/res/res_pjsip/config_transport.c 409678
/branches/12/main/acl.c 409678
/branches/12/include/asterisk/acl.h 409678
/branches/12/contrib/ast-db-manage/config/versions/4c573e7135bd_fix_tos_field_types.py
PRE-CREATION
Diff: https://reviewboard.asterisk.org/r/3304/diff/
Testing
-------
Tested that wireshark would send the same DSCP values in SIP packets when using
a tos value for transport that the RTP would have when using tos_audio/video.
Tested output for various TOS values as strings to see what would happen in the
following cases:
string input (numerical) - result: successful configuration (if a tos value
can't be matched to a DSCP string value though, it will show as 'unknown' when
examining the object configuration)
string input (alph) from DSCP string pool - result: successful configuration
string input (alpha) not from DSCP string pool - result: failed configuration
Tested upgrading and downgrading with alembic. Made sure the fields ended up
matching my expectations in each case.
Thanks,
Jonathan Rose
--
_____________________________________________________________________
-- 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