----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviewboard.asterisk.org/r/3254/#review11085 -----------------------------------------------------------
Ship it! Ship It! - Matt Jordan On March 5, 2014, 5:09 p.m., George Joseph wrote: > > ----------------------------------------------------------- > This is an automatically generated e-mail. To reply, visit: > https://reviewboard.asterisk.org/r/3254/ > ----------------------------------------------------------- > > (Updated March 5, 2014, 5:09 p.m.) > > > Review request for Asterisk Developers. > > > Bugs: ASTERISK-22537 > https://issues.asterisk.org/jira/browse/ASTERISK-22537 > > > Repository: Asterisk > > > Description > ------- > > This patch creates the AST_SORCERY dialplan function which allows someone to > retrieve any value from a sorcery-based config file. It's similar to > AST_CONFIG. > > The creation of the function itself was fairly straightforward but it > required changes to the underlying sorcery infrastructure that rippled into > individual sorcery objects. The changes stemmed from inconsistencies in how > sorcery created ast_variable objectsets from sorcery objects and the > inconsistency in how individual objects used that feature especially when it > came to parameters that can be specified multiple times like contact in aor > and match in identify. You can read more here... > http://lists.digium.com/pipermail/asterisk-dev/2014-February/065202.html > > So, what this patch does, besides actually creating the AST_SORCERY function, > is the following... > > Creates ast_variable_list_append which is a helper to append one ast_variable > list to another. > Modifies the ast_sorcery_object_field_register functions to accept the > already-defined sorcery_fields_handler callback. > Modifies ast_sorcery_objectset_create to accept a parameter indicating return > type preference...a single ast_variable with all values concatenated or an > ast_variable list with multiple entries. Also fixed a few bugs. > Modifies individual sorcery object implementations to use the new function > definition of the ast_sorcery_object_field_register functions. > Modifies location.c and res_pjsip_endpoint_identifier_ip.c to implement > sorcery_fields_handler handlers so they return multiple occurrences as an > ast_variable_list. > Added a whole bunch of tests to test_sorcery. > > NOTES: > > If you read through the email chain, I had a question on whether we > should/could change "Contacts" to "Contact" in AMI output. Joshua though we > should, which I agree with, but there is the issue of backward compatibility. > What is did therefore was to put a little translation code in to keep it > plural for 12, then if you guys agree, remove that code in trunk/13 so it's > singular. I'll have to do a new patch for trunk anyway because > ast_sip_auth_array changed to a vector in trunk. > > > Diffs > ----- > > branches/12/tests/test_sorcery.c 409966 > branches/12/res/res_pjsip_outbound_registration.c 409966 > branches/12/res/res_pjsip_endpoint_identifier_ip.c 409966 > branches/12/res/res_pjsip_acl.c 409966 > branches/12/res/res_pjsip/pjsip_configuration.c 409966 > branches/12/res/res_pjsip/location.c 409966 > branches/12/res/res_pjsip/config_transport.c 409966 > branches/12/res/res_pjsip/config_auth.c 409966 > branches/12/main/sorcery.c 409966 > branches/12/main/config.c 409966 > branches/12/main/bucket.c 409966 > branches/12/include/asterisk/sorcery.h 409966 > branches/12/include/asterisk/config.h 409966 > branches/12/funcs/func_sorcery.c PRE-CREATION > branches/12/CHANGES 409966 > > Diff: https://reviewboard.asterisk.org/r/3254/diff/ > > > Testing > ------- > > Created a new test in test_sorcery for the dialplan function which has the > side effect of also checking the changes to sorcery for multiple values. > Ran testsuite tests/channels/pjsip to check sorcery functions and AMI output. > > *CLI> test execute category /main/sorcery/ > Running all available tests matching category /main/sorcery/ > START /main/sorcery/ - dialplan_function > END /main/sorcery/ - dialplan_function Time: <1ms Result: PASS > START /main/sorcery/ - configuration_file_wizard_retrieve_multiple_all > <snip> > 44 Test(s) Executed 44 Passed 0 Failed > > > testsuite$ python -u ./runtests.py -t tests/channels/pjsip | ./pretty_print > Running tests for Asterisk 12.1.0 > Test > Run/Pass/Fail [ Status ] > tests/channels/pjsip/handle_options_request > 1/ 1/ 0 [ Passed ] > tests/channels/pjsip/incoming_calls_without_auth > 2/ 2/ 0 [ Passed ] > <snip> > tests/channels/pjsip/ami/show_endpoints > 57/ 57/ 0 [ Passed ] > tests/channels/pjsip/ami/show_endpoint > 58/ 58/ 0 [ Passed ] > tests/channels/pjsip/ami/show_registrations_inbound > 59/ 59/ 0 [ Passed ] > tests/channels/pjsip/ami/show_registrations_outbound > 60/ 60/ 0 [ Passed ] > tests/channels/pjsip/ami/show_subscriptions > 61/ 61/ 0 [ Passed ] > tests/channels/pjsip/set_var > 62/ 62/ 0 [ Passed ] > tests/channels/pjsip/hold/run-test > 63/ 62/ 1 [ Failed ] > tests/channels/pjsip/presence_pidf > 64/ 63/ 1 [ Passed ] > tests/channels/pjsip/presence_xpidf > 65/ 64/ 1 [ Passed ] > tests/channels/pjsip/mwi > 66/ 65/ 1 [ Passed ] > Tests: 66 Passed: 65 Failed: 1 > FAILED: tests/channels/pjsip/hold/run-test > > The failed one was failing before any changes. Not sure why. > > > Thanks, > > George Joseph > >
-- _____________________________________________________________________ -- 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