[asterisk-dev] [Code Review] 3650: pbx_config: Add manager command equivalents to 'dialplan add extension' and 'dialplan remove extension' CLI commands
Matt Jordan
reviewboard at asterisk.org
Thu Jun 19 16:17:54 CDT 2014
> On June 19, 2014, 1 p.m., Matt Jordan wrote:
> > /trunk/pbx/pbx_config.c, lines 504-506
> > <https://reviewboard.asterisk.org/r/3650/diff/1/?file=59862#file59862line504>
> >
> > "Failed to add extension" is not quite the correct error message to send in this case.
>
> Jonathan Rose wrote:
> Internal error a better choice?
> Now that it's strdupa, maybe I just shouldn't bother with the NULL check here. After all, according to the documentation for that function, if it fails we won't get a NULL pointer anyway.
Correct, but definitely go through your error messages and make sure they (a) make sense for the action being run, and (b) explain the error condition.
- Matt
-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/3650/#review12211
-----------------------------------------------------------
On June 19, 2014, 12:33 p.m., Jonathan Rose wrote:
>
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/3650/
> -----------------------------------------------------------
>
> (Updated June 19, 2014, 12:33 p.m.)
>
>
> Review request for Asterisk Developers, Matt Jordan and Mark Michelson.
>
>
> Repository: Asterisk
>
>
> Description
> -------
>
> Adds 'DialplanAddExtension' and 'DialplanRemoveExtension' manager commands that work in mostly the same way as their CLI command equivalents. The following header arguments are used for each:
>
> Action: DialplanAddExtension
> Context - which context should be used
> Extension - name of the extension being created, if '/' is included, the portion after the '/' is a CID match for that extension.
> Priority - priority being added
> Application - name of the application to be used at this priority
> ApplicationData - not required (if not included results in no args), forms the arguments to the application
> Replace - not required (if not included, same as 'no'). If set to a truth value, replace existing extensions/priorities rather than failing if one exists where we are adding already.
>
> Action: DialplanRemoveExtension
> Context - which context is being removed from
> Extension - Which extension is being removed or having a priority removed from, if '/' is included, the portion after the '/' is a CID match for that extension.
> Priority - not required, if included then just a single priority is removed from the extension instead of the whole extension.
>
> A change to the pbx extension adding code was necessary in order for ast_add_extension to report an error when attempting to add an extension without replacing it when it already exists.
> The particular section in question previously had some developer comments questioning why the return values were what they were in the first place. I didn't observe any problematic behavior occuring as a result of the change, but it is in pbx.c, so I guess it could end up being a bit of a minefield.
>
>
> Diffs
> -----
>
> /trunk/pbx/pbx_config.c 416234
> /trunk/main/pbx.c 416234
> /trunk/CHANGES 416234
>
> Diff: https://reviewboard.asterisk.org/r/3650/diff/
>
>
> Testing
> -------
>
> Tested add extension with/without appdata
> Tested add extension with/without '/' in extension and made sure the rest of the field was used as a CID value and that it worked the same as the CLI command equivalent
> Tested remove extension with/without priority
> Tested remove extension with/without '/' in extension and made sure that if CID was included that it deleted the CID including extension.
>
>
> Thanks,
>
> Jonathan Rose
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20140619/12b43699/attachment-0001.html>
More information about the asterisk-dev
mailing list