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:
Mark Spencer
2000-12-27 13:38:58 +00:00
parent ce46416cb3
commit 4e8bcf1af1
3 changed files with 30 additions and 9 deletions

View File

@@ -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)

View File

@@ -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,6 +2047,12 @@ 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")) {
if (!strcasecmp(v->value, "dynamic")) {
/* They'll register with us */
peer->dynamic = 1;
memset(&peer->addr.sin_addr, 0, 4);
} else {
peer->dynamic = 0;
hp = gethostbyname(v->value); hp = gethostbyname(v->value);
if (hp) { if (hp) {
memcpy(&peer->addr.sin_addr, hp->h_addr, sizeof(peer->addr.sin_addr)); memcpy(&peer->addr.sin_addr, hp->h_addr, sizeof(peer->addr.sin_addr));
@@ -2049,6 +2064,7 @@ static struct iax_peer *build_peer(char *name, struct ast_variable *v)
if (!maskfound) if (!maskfound)
inet_aton("255.255.255.255", &peer->mask); inet_aton("255.255.255.255", &peer->mask);
} }
}
else if (!strcasecmp(v->name, "mask")) { else if (!strcasecmp(v->name, "mask")) {
maskfound++; maskfound++;
inet_aton(v->value, &peer->mask); inet_aton(v->value, &peer->mask);

View File

@@ -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