diff options
author | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-10-26 22:25:43 +0000 |
---|---|---|
committer | markster <markster@f38db490-d61c-443f-a65b-d21fe96a405b> | 2004-10-26 22:25:43 +0000 |
commit | e2c75a92f97e22fed0bd2017fccb550fc2106ba3 (patch) | |
tree | 8cc9a36b9066a72d36a623a08bb8779286caedf2 /channels/chan_mgcp.c | |
parent | b561eb0a2d237ca6c387b60011d55fc38bec1c2c (diff) |
Pass concept of status back, permit "leaveempty" to work with static agents who are not loggedon (bug #2719)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4106 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/chan_mgcp.c')
-rwxr-xr-x | channels/chan_mgcp.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/channels/chan_mgcp.c b/channels/chan_mgcp.c index a66fb6d8d..0b1fafd83 100755 --- a/channels/chan_mgcp.c +++ b/channels/chan_mgcp.c @@ -72,6 +72,7 @@ #include <asterisk/app.h> #include <asterisk/musiconhold.h> #include <asterisk/utils.h> +#include <asterisk/causes.h> #include <sys/socket.h> #include <sys/ioctl.h> #include <net/if.h> @@ -3342,7 +3343,7 @@ static int restart_monitor(void) return 0; } -static struct ast_channel *mgcp_request(const char *type, int format, void *data) +static struct ast_channel *mgcp_request(const char *type, int format, void *data, int *cause) { int oldformat; struct mgcp_subchannel *sub; @@ -3364,6 +3365,7 @@ static struct ast_channel *mgcp_request(const char *type, int format, void *data sub = find_subchannel(tmp, 0, NULL); if (!sub) { ast_log(LOG_WARNING, "Unable to find MGCP endpoint '%s'\n", tmp); + *cause = AST_CAUSE_UNREGISTERED; return NULL; } @@ -3383,6 +3385,7 @@ static struct ast_channel *mgcp_request(const char *type, int format, void *data transmit_notify_request(sub,"L/vmwi(-)"); } } + *cause = AST_CAUSE_BUSY; return NULL; } tmpc = mgcp_new(sub->owner ? sub->next : sub, AST_STATE_DOWN); |