mirror of
https://github.com/asterisk/asterisk.git
synced 2025-11-03 04:16:43 +00:00
Version 0.1.6 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
This commit is contained in:
@@ -12,7 +12,8 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
CHANNEL_LIBS=chan_vofr.so chan_modem.so \
|
CHANNEL_LIBS=chan_vofr.so chan_modem.so \
|
||||||
chan_modem_aopen.so chan_iax.so chan_oss.so
|
chan_modem_aopen.so chan_iax.so chan_oss.so \
|
||||||
|
chan_modem_i4l.so
|
||||||
|
|
||||||
CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/ixjuser.h ] && echo chan_phone.so)
|
CHANNEL_LIBS+=$(shell [ -f /usr/include/linux/ixjuser.h ] && echo chan_phone.so)
|
||||||
|
|
||||||
|
|||||||
@@ -127,6 +127,15 @@ struct iax_peer {
|
|||||||
struct sockaddr_in addr;
|
struct sockaddr_in addr;
|
||||||
int formats;
|
int formats;
|
||||||
struct in_addr mask;
|
struct in_addr mask;
|
||||||
|
|
||||||
|
/* Dynamic Registration fields */
|
||||||
|
int dynamic;
|
||||||
|
struct sockaddr_in defaddr;
|
||||||
|
char regsecret[80];
|
||||||
|
char methods[80];
|
||||||
|
struct timeval nexpire;
|
||||||
|
int expire;
|
||||||
|
struct iax_ha *ha;
|
||||||
struct iax_peer *next;
|
struct iax_peer *next;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -2038,16 +2047,23 @@ static struct iax_peer *build_peer(char *name, struct ast_variable *v)
|
|||||||
if (!strcasecmp(v->name, "secret"))
|
if (!strcasecmp(v->name, "secret"))
|
||||||
strncpy(peer->secret, v->value, sizeof(peer->secret));
|
strncpy(peer->secret, v->value, sizeof(peer->secret));
|
||||||
else if (!strcasecmp(v->name, "host")) {
|
else if (!strcasecmp(v->name, "host")) {
|
||||||
hp = gethostbyname(v->value);
|
if (!strcasecmp(v->value, "dynamic")) {
|
||||||
if (hp) {
|
/* They'll register with us */
|
||||||
memcpy(&peer->addr.sin_addr, hp->h_addr, sizeof(peer->addr.sin_addr));
|
peer->dynamic = 1;
|
||||||
|
memset(&peer->addr.sin_addr, 0, 4);
|
||||||
} else {
|
} else {
|
||||||
ast_log(LOG_WARNING, "Unable to lookup '%s'\n", v->value);
|
peer->dynamic = 0;
|
||||||
free(peer);
|
hp = gethostbyname(v->value);
|
||||||
return NULL;
|
if (hp) {
|
||||||
|
memcpy(&peer->addr.sin_addr, hp->h_addr, sizeof(peer->addr.sin_addr));
|
||||||
|
} else {
|
||||||
|
ast_log(LOG_WARNING, "Unable to lookup '%s'\n", v->value);
|
||||||
|
free(peer);
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
if (!maskfound)
|
||||||
|
inet_aton("255.255.255.255", &peer->mask);
|
||||||
}
|
}
|
||||||
if (!maskfound)
|
|
||||||
inet_aton("255.255.255.255", &peer->mask);
|
|
||||||
}
|
}
|
||||||
else if (!strcasecmp(v->name, "mask")) {
|
else if (!strcasecmp(v->name, "mask")) {
|
||||||
maskfound++;
|
maskfound++;
|
||||||
|
|||||||
@@ -38,6 +38,10 @@
|
|||||||
#define AST_IAX_COMMAND_INVAL 10
|
#define AST_IAX_COMMAND_INVAL 10
|
||||||
#define AST_IAX_COMMAND_LAGRQ 11
|
#define AST_IAX_COMMAND_LAGRQ 11
|
||||||
#define AST_IAX_COMMAND_LAGRP 12
|
#define AST_IAX_COMMAND_LAGRP 12
|
||||||
|
#define AST_IAX_COMMAND_REGRQ 13
|
||||||
|
#define AST_IAX_COMMAND_REGRP 14
|
||||||
|
|
||||||
|
#define AST_DEFAULT_REG_EXPIRE 60 /* By default require re-registration once per minute */
|
||||||
|
|
||||||
#define AST_DEFAULT_IAX_PORTNO 5036
|
#define AST_DEFAULT_IAX_PORTNO 5036
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user