From: Paul Belanger Date: Tue, 15 Oct 2013 15:26:17 +0000 (+0000) Subject: Use POST / DELETE to toggle hold / moh for ARI channels X-Git-Tag: 12.0.0-beta2~138 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=56757b114b8e3d821beb07ce102d8912dbb4506d;p=thirdparty%2Fasterisk.git Use POST / DELETE to toggle hold / moh for ARI channels This change updates how we handle toggle events, rather then create two different function names, we'll just use POST / DELETE from HTTP to handle it. Review: https://reviewboard.asterisk.org/r/2906/ git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/12@400999 65c4cc65-6c06-0410-ace0-fbb531ad65f3 --- diff --git a/res/res_ari_channels.c b/res/res_ari_channels.c index 063e766f1d..dced6d65af 100644 --- a/res/res_ari_channels.c +++ b/res/res_ari_channels.c @@ -680,7 +680,7 @@ fin: __attribute__((unused)) return; } /*! - * \brief Parameter parsing callback for /channels/{channelId}/unhold. + * \brief Parameter parsing callback for /channels/{channelId}/hold. * \param get_params GET parameters in the HTTP request. * \param path_vars Path variables extracted from the request. * \param headers HTTP headers. @@ -722,13 +722,13 @@ static void ast_ari_unhold_channel_cb( is_valid = ast_ari_validate_void( response->message); } else { - ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/unhold\n", code); + ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/hold\n", code); is_valid = 0; } } if (!is_valid) { - ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/unhold\n"); + ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/hold\n"); ast_ari_response_error(response, 500, "Internal Server Error", "Response validation failed"); } @@ -738,7 +738,7 @@ fin: __attribute__((unused)) return; } /*! - * \brief Parameter parsing callback for /channels/{channelId}/mohstart. + * \brief Parameter parsing callback for /channels/{channelId}/moh. * \param get_params GET parameters in the HTTP request. * \param path_vars Path variables extracted from the request. * \param headers HTTP headers. @@ -786,13 +786,13 @@ static void ast_ari_moh_start_channel_cb( is_valid = ast_ari_validate_void( response->message); } else { - ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mohstart\n", code); + ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/moh\n", code); is_valid = 0; } } if (!is_valid) { - ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mohstart\n"); + ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/moh\n"); ast_ari_response_error(response, 500, "Internal Server Error", "Response validation failed"); } @@ -802,7 +802,7 @@ fin: __attribute__((unused)) return; } /*! - * \brief Parameter parsing callback for /channels/{channelId}/mohstop. + * \brief Parameter parsing callback for /channels/{channelId}/moh. * \param get_params GET parameters in the HTTP request. * \param path_vars Path variables extracted from the request. * \param headers HTTP headers. @@ -844,13 +844,13 @@ static void ast_ari_moh_stop_channel_cb( is_valid = ast_ari_validate_void( response->message); } else { - ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/mohstop\n", code); + ast_log(LOG_ERROR, "Invalid error response %d for /channels/{channelId}/moh\n", code); is_valid = 0; } } if (!is_valid) { - ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/mohstop\n"); + ast_log(LOG_ERROR, "Response validation failed for /channels/{channelId}/moh\n"); ast_ari_response_error(response, 500, "Internal Server Error", "Response validation failed"); } @@ -1199,33 +1199,17 @@ static struct stasis_rest_handlers channels_channelId_hold = { .path_segment = "hold", .callbacks = { [AST_HTTP_POST] = ast_ari_hold_channel_cb, + [AST_HTTP_DELETE] = ast_ari_unhold_channel_cb, }, .num_children = 0, .children = { } }; /*! \brief REST handler for /api-docs/channels.{format} */ -static struct stasis_rest_handlers channels_channelId_unhold = { - .path_segment = "unhold", - .callbacks = { - [AST_HTTP_POST] = ast_ari_unhold_channel_cb, - }, - .num_children = 0, - .children = { } -}; -/*! \brief REST handler for /api-docs/channels.{format} */ -static struct stasis_rest_handlers channels_channelId_mohstart = { - .path_segment = "mohstart", +static struct stasis_rest_handlers channels_channelId_moh = { + .path_segment = "moh", .callbacks = { [AST_HTTP_POST] = ast_ari_moh_start_channel_cb, - }, - .num_children = 0, - .children = { } -}; -/*! \brief REST handler for /api-docs/channels.{format} */ -static struct stasis_rest_handlers channels_channelId_mohstop = { - .path_segment = "mohstop", - .callbacks = { - [AST_HTTP_POST] = ast_ari_moh_stop_channel_cb, + [AST_HTTP_DELETE] = ast_ari_moh_stop_channel_cb, }, .num_children = 0, .children = { } @@ -1266,8 +1250,8 @@ static struct stasis_rest_handlers channels_channelId = { [AST_HTTP_GET] = ast_ari_get_channel_cb, [AST_HTTP_DELETE] = ast_ari_delete_channel_cb, }, - .num_children = 12, - .children = { &channels_channelId_dial,&channels_channelId_continue,&channels_channelId_answer,&channels_channelId_mute,&channels_channelId_unmute,&channels_channelId_hold,&channels_channelId_unhold,&channels_channelId_mohstart,&channels_channelId_mohstop,&channels_channelId_play,&channels_channelId_record,&channels_channelId_variable, } + .num_children = 10, + .children = { &channels_channelId_dial,&channels_channelId_continue,&channels_channelId_answer,&channels_channelId_mute,&channels_channelId_unmute,&channels_channelId_hold,&channels_channelId_moh,&channels_channelId_play,&channels_channelId_record,&channels_channelId_variable, } }; /*! \brief REST handler for /api-docs/channels.{format} */ static struct stasis_rest_handlers channels = { diff --git a/rest-api/api-docs/channels.json b/rest-api/api-docs/channels.json index 9d60b2b7c5..eeb56a5c64 100644 --- a/rest-api/api-docs/channels.json +++ b/rest-api/api-docs/channels.json @@ -433,11 +433,11 @@ ] }, { - "path": "/channels/{channelId}/unhold", + "path": "/channels/{channelId}/hold", "description": "Remove a channel from hold", "operations": [ { - "httpMethod": "POST", + "httpMethod": "DELETE", "summary": "Remove a channel from hold.", "nickname": "unholdChannel", "responseClass": "void", @@ -465,7 +465,7 @@ ] }, { - "path": "/channels/{channelId}/mohstart", + "path": "/channels/{channelId}/moh", "description": "Play music on hold to a channel", "operations": [ { @@ -506,11 +506,11 @@ ] }, { - "path": "/channels/{channelId}/mohstop", + "path": "/channels/{channelId}/moh", "description": "Stop playing music on hold to a channel", "operations": [ { - "httpMethod": "POST", + "httpMethod": "DELETE", "summary": "Stop playing music on hold to a channel.", "nickname": "mohStopChannel", "responseClass": "void",