added patch from http://jira.freeswitch.org/browse/MODENDP-9
git-svn-id: http://svn.freeswitch.org/svn/freeswitch/trunk@4880 d0543943-73ff-0310-b7d9-9358b9ac24b2
This commit is contained in:
parent
303c38cd7f
commit
951e771524
|
@ -16,6 +16,8 @@
|
||||||
<!--<param name="proxy" value="asterlink.com"/>-->
|
<!--<param name="proxy" value="asterlink.com"/>-->
|
||||||
<!--/// expire in seconds: *optional* 3600, if blank ///-->
|
<!--/// expire in seconds: *optional* 3600, if blank ///-->
|
||||||
<!--<param name="expire-seconds" value="60"/>-->
|
<!--<param name="expire-seconds" value="60"/>-->
|
||||||
|
<!--/// do not register ///-->
|
||||||
|
<!--<param name="register" value="false"/>-->
|
||||||
<!--</gateway>-->
|
<!--</gateway>-->
|
||||||
</gateways>
|
</gateways>
|
||||||
<settings>
|
<settings>
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
* Ken Rice, Asteria Solutions Group, Inc <ken@asteriasgi.com>
|
* Ken Rice, Asteria Solutions Group, Inc <ken@asteriasgi.com>
|
||||||
* Paul D. Tinsley <pdt at jackhammer.org>
|
* Paul D. Tinsley <pdt at jackhammer.org>
|
||||||
* Bret McDanel <trixter AT 0xdecafbad.com>
|
* Bret McDanel <trixter AT 0xdecafbad.com>
|
||||||
|
* Marcel Barbulescu <marcelbarbulescu@gmail.com>
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* mod_sofia.h -- SOFIA SIP Endpoint
|
* mod_sofia.h -- SOFIA SIP Endpoint
|
||||||
|
@ -159,7 +160,8 @@ typedef enum {
|
||||||
REG_STATE_REGISTER,
|
REG_STATE_REGISTER,
|
||||||
REG_STATE_REGED,
|
REG_STATE_REGED,
|
||||||
REG_STATE_FAILED,
|
REG_STATE_FAILED,
|
||||||
REG_STATE_EXPIRED
|
REG_STATE_EXPIRED,
|
||||||
|
REG_STATE_NOREG
|
||||||
} reg_state_t;
|
} reg_state_t;
|
||||||
|
|
||||||
struct outbound_reg {
|
struct outbound_reg {
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
* Ken Rice, Asteria Solutions Group, Inc <ken@asteriasgi.com>
|
* Ken Rice, Asteria Solutions Group, Inc <ken@asteriasgi.com>
|
||||||
* Paul D. Tinsley <pdt at jackhammer.org>
|
* Paul D. Tinsley <pdt at jackhammer.org>
|
||||||
* Bret McDanel <trixter AT 0xdecafbad.com>
|
* Bret McDanel <trixter AT 0xdecafbad.com>
|
||||||
|
* Marcel Barbulescu <marcelbarbulescu@gmail.com>
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* sofia.c -- SOFIA SIP Endpoint (sofia code)
|
* sofia.c -- SOFIA SIP Endpoint (sofia code)
|
||||||
|
@ -668,7 +669,7 @@ switch_status_t config_sofia(int reload)
|
||||||
}
|
}
|
||||||
|
|
||||||
if ((gateway = switch_core_alloc(profile->pool, sizeof(*gateway)))) {
|
if ((gateway = switch_core_alloc(profile->pool, sizeof(*gateway)))) {
|
||||||
char *scheme = "Digest",
|
char *register_str = "true", *scheme = "Digest",
|
||||||
*realm = NULL,
|
*realm = NULL,
|
||||||
*username = NULL, *password = NULL, *extension = NULL, *proxy = NULL, *context = "default", *expire_seconds = "3600";
|
*username = NULL, *password = NULL, *extension = NULL, *proxy = NULL, *context = "default", *expire_seconds = "3600";
|
||||||
|
|
||||||
|
@ -682,7 +683,9 @@ switch_status_t config_sofia(int reload)
|
||||||
char *var = (char *) switch_xml_attr_soft(param, "name");
|
char *var = (char *) switch_xml_attr_soft(param, "name");
|
||||||
char *val = (char *) switch_xml_attr_soft(param, "value");
|
char *val = (char *) switch_xml_attr_soft(param, "value");
|
||||||
|
|
||||||
if (!strcmp(var, "scheme")) {
|
if (!strcmp(var, "register")) {
|
||||||
|
register_str = val;
|
||||||
|
} else if (!strcmp(var, "scheme")) {
|
||||||
scheme = val;
|
scheme = val;
|
||||||
} else if (!strcmp(var, "realm")) {
|
} else if (!strcmp(var, "realm")) {
|
||||||
realm = val;
|
realm = val;
|
||||||
|
@ -725,6 +728,9 @@ switch_status_t config_sofia(int reload)
|
||||||
proxy = realm;
|
proxy = realm;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (!switch_true(register_str)) {
|
||||||
|
gateway->state = REG_STATE_NOREG;
|
||||||
|
}
|
||||||
gateway->register_scheme = switch_core_strdup(gateway->pool, scheme);
|
gateway->register_scheme = switch_core_strdup(gateway->pool, scheme);
|
||||||
gateway->register_context = switch_core_strdup(gateway->pool, context);
|
gateway->register_context = switch_core_strdup(gateway->pool, context);
|
||||||
gateway->register_realm = switch_core_strdup(gateway->pool, realm);
|
gateway->register_realm = switch_core_strdup(gateway->pool, realm);
|
||||||
|
|
|
@ -27,6 +27,7 @@
|
||||||
* Ken Rice, Asteria Solutions Group, Inc <ken@asteriasgi.com>
|
* Ken Rice, Asteria Solutions Group, Inc <ken@asteriasgi.com>
|
||||||
* Paul D. Tinsley <pdt at jackhammer.org>
|
* Paul D. Tinsley <pdt at jackhammer.org>
|
||||||
* Bret McDanel <trixter AT 0xdecafbad.com>
|
* Bret McDanel <trixter AT 0xdecafbad.com>
|
||||||
|
* Marcel Barbulescu <marcelbarbulescu@gmail.com>
|
||||||
*
|
*
|
||||||
*
|
*
|
||||||
* sofia_ref.c -- SOFIA SIP Endpoint (registration code)
|
* sofia_ref.c -- SOFIA SIP Endpoint (registration code)
|
||||||
|
@ -56,6 +57,8 @@ void sofia_reg_check_gateway(sofia_profile_t *profile, time_t now)
|
||||||
reg_state_t ostate = gateway_ptr->state;
|
reg_state_t ostate = gateway_ptr->state;
|
||||||
|
|
||||||
switch (ostate) {
|
switch (ostate) {
|
||||||
|
case REG_STATE_NOREG:
|
||||||
|
break;
|
||||||
case REG_STATE_REGISTER:
|
case REG_STATE_REGISTER:
|
||||||
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "registered %s\n", gateway_ptr->name);
|
switch_log_printf(SWITCH_CHANNEL_LOG, SWITCH_LOG_NOTICE, "registered %s\n", gateway_ptr->name);
|
||||||
gateway_ptr->expires = now + gateway_ptr->freq;
|
gateway_ptr->expires = now + gateway_ptr->freq;
|
||||||
|
|
Loading…
Reference in New Issue