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
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;
break;
case 500: /* Internal Server Error */
case 501: /* Not Implemented */
+ case 409: /* Channel with given unique ID already exists. */
is_valid = 1;
break;
default:
"allowMultiple": false,
"dataType": "string"
}
+ ],
+ "errorResponses": [
+ {
+ "code": 409,
+ "reason": "Channel with given unique ID already exists."
+ }
]
}
]