[asterisk-commits] ARI: Add duplicate channel ID checking for channel creation. (asterisk[master])
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Oct 24 20:01:47 CDT 2016
Joshua Colp has submitted this change and it was merged. ( https://gerrit.asterisk.org/4159 )
Change subject: ARI: Add duplicate channel ID checking for channel creation.
......................................................................
ARI: Add duplicate channel ID checking for channel creation.
This is similar to what is done for origination, but for the 14 and up
channel creation method. When attempting to create a channel, if a
channel ID is specified and a channel already exists with that ID, then
a 409 is returned.
Change-Id: I77f9253278c6947939c418073b6b31065489187c
---
M res/ari/resource_channels.c
M res/res_ari_channels.c
M rest-api/api-docs/channels.json
3 files changed, 13 insertions(+), 1 deletion(-)
Approvals:
Kevin Harwell: Looks good to me, but someone else must approve
Anonymous Coward #1000019: Verified
Joshua Colp: Looks good to me, approved
diff --git a/res/ari/resource_channels.c b/res/ari/resource_channels.c
index b00b237..afb4627 100644
--- a/res/ari/resource_channels.c
+++ b/res/ari/resource_channels.c
@@ -1828,7 +1828,12 @@
ao2_cleanup(request_cap);
if (!chan_data->chan) {
- ast_ari_response_alloc_failed(response);
+ if (ast_channel_errno() == AST_CHANNEL_ERROR_ID_EXISTS) {
+ ast_ari_response_error(response, 409, "Conflict",
+ "Channel with given unique ID already exists");
+ } else {
+ ast_ari_response_alloc_failed(response);
+ }
ast_channel_cleanup(originator);
chan_data_destroy(chan_data);
return;
diff --git a/res/res_ari_channels.c b/res/res_ari_channels.c
index b7c088c..9e8eeb4 100644
--- a/res/res_ari_channels.c
+++ b/res/res_ari_channels.c
@@ -386,6 +386,7 @@
break;
case 500: /* Internal Server Error */
case 501: /* Not Implemented */
+ case 409: /* Channel with given unique ID already exists. */
is_valid = 1;
break;
default:
diff --git a/rest-api/api-docs/channels.json b/rest-api/api-docs/channels.json
index 60ace07..4ca8d65 100644
--- a/rest-api/api-docs/channels.json
+++ b/rest-api/api-docs/channels.json
@@ -217,6 +217,12 @@
"allowMultiple": false,
"dataType": "string"
}
+ ],
+ "errorResponses": [
+ {
+ "code": 409,
+ "reason": "Channel with given unique ID already exists."
+ }
]
}
]
--
To view, visit https://gerrit.asterisk.org/4159
To unsubscribe, visit https://gerrit.asterisk.org/settings
Gerrit-MessageType: merged
Gerrit-Change-Id: I77f9253278c6947939c418073b6b31065489187c
Gerrit-PatchSet: 4
Gerrit-Project: asterisk
Gerrit-Branch: master
Gerrit-Owner: Mark Michelson <mmichelson at digium.com>
Gerrit-Reviewer: Anonymous Coward #1000019
Gerrit-Reviewer: Joshua Colp <jcolp at digium.com>
Gerrit-Reviewer: Kevin Harwell <kharwell at digium.com>
More information about the asterisk-commits
mailing list