mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-09 11:28:25 +00:00
reject call attempts when gatekeeper is configured but not registered
(closes issue ASTERISK-21800)
Reported by: Dmitry Melekhov
Patches:
ASTERISK-21800-1.patch
Tested by: Dmitry Melekhov
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@390181 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -286,6 +286,8 @@ int onCallEstablished(ooCallData *call);
|
|||||||
int onCallCleared(ooCallData *call);
|
int onCallCleared(ooCallData *call);
|
||||||
void onModeChanged(ooCallData *call, int t38mode);
|
void onModeChanged(ooCallData *call, int t38mode);
|
||||||
|
|
||||||
|
extern OOH323EndPoint gH323ep;
|
||||||
|
|
||||||
static char gLogFile[256] = DEFAULT_LOGFILE;
|
static char gLogFile[256] = DEFAULT_LOGFILE;
|
||||||
static int gPort = 1720;
|
static int gPort = 1720;
|
||||||
static char gIP[20];
|
static char gIP[20];
|
||||||
@@ -629,6 +631,7 @@ static struct ast_channel *ooh323_request(const char *type, format_t format,
|
|||||||
ooh323_destroy(p);
|
ooh323_destroy(p);
|
||||||
ast_mutex_unlock(&iflock);
|
ast_mutex_unlock(&iflock);
|
||||||
ast_log(LOG_ERROR, "Destination format is not supported\n");
|
ast_log(LOG_ERROR, "Destination format is not supported\n");
|
||||||
|
*cause = AST_CAUSE_INVALID_NUMBER_FORMAT;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -672,6 +675,10 @@ static struct ast_channel *ooh323_request(const char *type, format_t format,
|
|||||||
ooh323_destroy(p);
|
ooh323_destroy(p);
|
||||||
ast_mutex_unlock(&iflock);
|
ast_mutex_unlock(&iflock);
|
||||||
return NULL;
|
return NULL;
|
||||||
|
} else if (gH323ep.gkClient && gH323ep.gkClient->state != GkClientRegistered) {
|
||||||
|
ast_log(LOG_ERROR, "Gatekeeper client is configured but not registered\n");
|
||||||
|
*cause = AST_CAUSE_NORMAL_TEMPORARY_FAILURE;
|
||||||
|
return NULL;
|
||||||
}
|
}
|
||||||
p->g729onlyA = g729onlyA;
|
p->g729onlyA = g729onlyA;
|
||||||
p->dtmfmode = gDTMFMode;
|
p->dtmfmode = gDTMFMode;
|
||||||
|
|||||||
Reference in New Issue
Block a user