| 20 |
* the GNU General Public License |
* the GNU General Public License |
| 21 |
* ============================================= |
* ============================================= |
| 22 |
* |
* |
| 23 |
|
* v1.59 Antony Martin <antony.martin@dialogic.com> |
| 24 |
|
* Apr 22 2010 |
| 25 |
|
* Fix in clone_woomera_profile. |
| 26 |
|
* |
| 27 |
* v1.58 John Tarlton <john.tarlton@dialogic.com> |
* v1.58 John Tarlton <john.tarlton@dialogic.com> |
| 28 |
* Mar 19 2010 |
* Mar 19 2010 |
| 29 |
* New app WoomeraStop currently allows WoomeraBackground |
* New app WoomeraStop currently allows WoomeraBackground |
| 687 |
|
|
| 688 |
extern int option_verbose; |
extern int option_verbose; |
| 689 |
|
|
| 690 |
#define WOOMERA_VERSION "v1.58" |
#define WOOMERA_VERSION "v1.59" |
| 691 |
#ifndef WOOMERA_CHAN_NAME |
#ifndef WOOMERA_CHAN_NAME |
| 692 |
#define WOOMERA_CHAN_NAME "WOOMERA" |
#define WOOMERA_CHAN_NAME "WOOMERA" |
| 693 |
#endif |
#endif |
| 3960 |
{ |
{ |
| 3961 |
memcpy(new_profile, default_profile, sizeof(woomera_profile)); |
memcpy(new_profile, default_profile, sizeof(woomera_profile)); |
| 3962 |
memset(new_profile->tg_context, 0, sizeof(new_profile->tg_context)); |
memset(new_profile->tg_context, 0, sizeof(new_profile->tg_context)); |
| 3963 |
|
memset(new_profile->tg_language, 0, sizeof(new_profile->tg_language)); |
| 3964 |
return new_profile; |
return new_profile; |
| 3965 |
} |
} |
| 3966 |
|
|
| 3999 |
int count = 0; |
int count = 0; |
| 4000 |
|
|
| 4001 |
memset(&default_profile, 0, sizeof(default_profile)); |
memset(&default_profile, 0, sizeof(default_profile)); |
| 4002 |
|
|
| 4003 |
#if defined (AST_JB) |
#if defined (AST_JB) |
| 4004 |
memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf)); |
memcpy(&global_jbconf, &default_jbconf, sizeof(struct ast_jb_conf)); |
| 4005 |
#endif |
#endif |
| 4096 |
} else if (!strcmp(v->name, "default_context")) { |
} else if (!strcmp(v->name, "default_context")) { |
| 4097 |
default_context_set = 1; |
default_context_set = 1; |
| 4098 |
strncpy(profile->default_context, v->value, sizeof(profile->default_context) - 1); |
strncpy(profile->default_context, v->value, sizeof(profile->default_context) - 1); |
| 4099 |
|
} else if (!strcmp(v->name, "language")) { |
| 4100 |
|
strncpy(profile->language, v->value, sizeof(profile->language) - 1); |
| 4101 |
} else if (!strcmp(v->name, "group")) { |
} else if (!strcmp(v->name, "group")) { |
| 4102 |
int group_num = atoi(v->value); |
int group_num = atoi(v->value); |
| 4103 |
if (group_num < 0) { |
if (group_num < 0) { |
| 4117 |
profile->tg_language[group_num] = strdup(profile->language); |
profile->tg_language[group_num] = strdup(profile->language); |
| 4118 |
} |
} |
| 4119 |
} |
} |
| 4120 |
} else if (!strcmp(v->name, "language")) { |
|
|
strncpy(profile->language, v->value, sizeof(profile->language) - 1); |
|
| 4121 |
} else if (!strcmp(v->name, "dtmf_enable")) { |
} else if (!strcmp(v->name, "dtmf_enable")) { |
| 4122 |
profile->dtmf_enable = atoi(v->value); |
profile->dtmf_enable = atoi(v->value); |
| 4123 |
} else if (!strcmp(v->name, "send_dtmf")) { |
} else if (!strcmp(v->name, "send_dtmf")) { |
| 4201 |
} |
} |
| 4202 |
} |
} |
| 4203 |
} |
} |
|
|
|
| 4204 |
ASTOBJ_CONTAINER_LINK(&woomera_profile_list, profile); |
ASTOBJ_CONTAINER_LINK(&woomera_profile_list, profile); |
| 4205 |
} |
} |
| 4206 |
} |
} |
| 4511 |
ast_mutex_unlock(&lock); |
ast_mutex_unlock(&lock); |
| 4512 |
return 0; |
return 0; |
| 4513 |
} |
} |
|
|
|
| 4514 |
ASTOBJ_CONTAINER_TRAVERSE(&woomera_profile_list, 1, do { |
ASTOBJ_CONTAINER_TRAVERSE(&woomera_profile_list, 1, do { |
| 4515 |
ASTOBJ_RDLOCK(iterator); |
ASTOBJ_RDLOCK(iterator); |
| 4516 |
profile = iterator; |
profile = iterator; |
| 7091 |
int load_module(void) |
int load_module(void) |
| 7092 |
{ |
{ |
| 7093 |
int x; |
int x; |
| 7094 |
|
ASTOBJ_CONTAINER_INIT(&private_object_list); |
| 7095 |
|
ASTOBJ_CONTAINER_INIT(&woomera_profile_list); |
| 7096 |
|
|
| 7097 |
if (!(sched = sched_context_create())) { |
if (!(sched = sched_context_create())) { |
| 7098 |
ast_log(LOG_ERROR, "Unable to create scheduler context\n"); |
ast_log(LOG_ERROR, "Unable to create scheduler context\n"); |
| 7153 |
|
|
| 7154 |
signal(SIGURG, urg_handler); |
signal(SIGURG, urg_handler); |
| 7155 |
|
|
| 7156 |
ASTOBJ_CONTAINER_INIT(&private_object_list); |
|
| 7157 |
|
|
| 7158 |
#ifdef CALLWEAVER |
#ifdef CALLWEAVER |
| 7159 |
#ifdef CALLWEAVER_19 |
#ifdef CALLWEAVER_19 |