use SWITCH_MESSAGE_INDICATE_UUID_CHANGE to change tokens in openzap when a uuid of FS changes OPENZAP-88

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@846 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
Anthony Minessale 2009-10-22 14:55:15 +00:00
parent 8fc9022afe
commit d55588fe0c
3 changed files with 20 additions and 0 deletions

View File

@ -965,6 +965,11 @@ static switch_status_t channel_receive_message(switch_core_session_t *session, s
}
}
break;
case SWITCH_MESSAGE_INDICATE_UUID_CHANGE:
{
zap_channel_replace_token(tech_pvt->zchan, msg->string_array_arg[0], msg->string_array_arg[1]);
}
break;
default:
break;
}

View File

@ -635,6 +635,7 @@ OZ_DECLARE(void) zap_channel_clear_needed_tones(zap_channel_t *zchan);
OZ_DECLARE(zap_status_t) zap_channel_get_alarms(zap_channel_t *zchan);
OZ_DECLARE(zap_status_t) zap_channel_send_fsk_data(zap_channel_t *zchan, zap_fsk_data_state_t *fsk_data, float db_level);
OZ_DECLARE(zap_status_t) zap_channel_clear_token(zap_channel_t *zchan, const char *token);
OZ_DECLARE(void) zap_channel_replace_token(zap_channel_t *zchan, const char *old_token, const char *new_token);
OZ_DECLARE(zap_status_t) zap_channel_add_token(zap_channel_t *zchan, char *token, int end);
OZ_DECLARE(zap_status_t) zap_channel_set_state(zap_channel_t *zchan, zap_channel_state_t state, int lock);
OZ_DECLARE(zap_status_t) zap_span_load_tones(zap_span_t *span, const char *mapname);

View File

@ -703,6 +703,20 @@ OZ_DECLARE(void) zap_channel_rotate_tokens(zap_channel_t *zchan)
}
}
OZ_DECLARE(void) zap_channel_replace_token(zap_channel_t *zchan, const char *old_token, const char *new_token)
{
int i;
if (zchan->token_count) {
for(i = 0; i < zchan->token_count; i++) {
if (!strcmp(zchan->tokens[i], old_token)) {
zap_copy_string(zchan->tokens[i], new_token, ZAP_TOKEN_STRLEN);
break;
}
}
}
}
OZ_DECLARE(zap_status_t) zap_channel_add_token(zap_channel_t *zchan, char *token, int end)
{
zap_status_t status = ZAP_FAIL;