static_file => sip.ver,plain/text
static_file => sip.cfg
static_file => custom.cfg
-${TOLOWER(${MAC})}.cfg => 000000000000.cfg ; Dynamically generated files.
-${TOLOWER(${MAC})}-phone.cfg => 000000000000-phone.cfg ; (relative to AST_DATA_DIR/phoneprov)
-config/${TOLOWER(${MAC})} => polycom.xml ; Dynamic Filename => template file
-${TOLOWER(${MAC})}-directory.xml => 000000000000-directory.xml
+${MAC}.cfg => 000000000000.cfg ; Dynamically generated files.
+${MAC}-phone.cfg => 000000000000-phone.cfg ; (relative to AST_DATA_DIR/phoneprov)
+config/${MAC} => polycom.xml ; Dynamic Filename => template file
+${MAC}-directory.xml => 000000000000-directory.xml
setvar => CUSTOM_CONFIG=/var/lib/asterisk/phoneprov/configs/custom.cfg ; Custom variable
<?xml version="1.0" standalone="yes"?>
- <APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="${IF($[${STAT(e|${CUSTOM_CONFIG})}] ? "custom.cfg, ")}config/${TOLOWER(${MAC})}, sip.cfg" MISC_FILES="" LOG_FILE_DIRECTORY=""/>
+ <APPLICATION APP_FILE_PATH="sip.ld" CONFIG_FILES="${IF($[${STAT(e|${CUSTOM_CONFIG})}] ? "custom.cfg, ")}config/${MAC}, sip.cfg" MISC_FILES="" LOG_FILE_DIRECTORY=""/>
#include "asterisk.h"
+#include <ctype.h>
#include <sys/ioctl.h>
#include <sys/socket.h>
#include <net/if.h>
static int routes_hash_fn(const void *obj, const int flags)
{
const struct http_route *route = obj;
-
- return ast_str_hash(route->uri);
+ char *tmp, *uri;
+
+ uri = tmp = ast_strdupa(route->uri);
+
+ while (*tmp++) {
+ *tmp = tolower(*tmp);
+ }
+
+ return ast_str_hash(uri);
}
static int routes_cmp_fn(void *obj, void *arg, int flags)
{
const struct http_route *route1 = obj, *route2 = arg;
- return !strcmp(route1->uri, route2->uri) ? CMP_MATCH | CMP_STOP : 0;
+ return !strcasecmp(route1->uri, route2->uri) ? CMP_MATCH | CMP_STOP : 0;
}
static void route_destructor(void *obj)
static int users_hash_fn(const void *obj, const int flags)
{
const struct user *user = obj;
+ char *tmp, *mac;
+
+ mac = tmp = ast_strdupa(user->macaddress);
+
+ while (*tmp++) {
+ *tmp = tolower(*tmp);
+ }
- return ast_str_hash(user->macaddress);
+ return ast_str_hash(mac);
}
static int users_cmp_fn(void *obj, void *arg, int flags)
static struct user *build_user(const char *mac, struct phone_profile *profile)
{
struct user *user;
-
if (!(user = ao2_alloc(sizeof(*user), user_destructor))) {
profile = unref_profile(profile);