change outbound req code for isdn

git-svn-id: http://svn.openzap.org/svn/openzap/trunk@471 a93c3328-9c30-0410-af19-c9cd2b2d52af
This commit is contained in:
Michael Jerris
2008-05-05 22:54:40 +00:00
parent 7917a9a472
commit 965e37759a
4 changed files with 278 additions and 128 deletions

View File

@@ -709,7 +709,7 @@ zap_status_t zap_channel_set_state(zap_channel_t *zchan, zap_channel_state_t sta
return ok ? ZAP_SUCCESS : ZAP_FAIL;
}
zap_status_t zap_channel_open_any(uint32_t span_id, zap_direction_t direction, const zap_caller_data_t *caller_data, zap_channel_t **zchan)
zap_status_t zap_channel_open_any(uint32_t span_id, zap_direction_t direction, zap_caller_data_t *caller_data, zap_channel_t **zchan)
{
zap_status_t status = ZAP_FAIL;
zap_channel_t *check;
@@ -723,9 +723,9 @@ zap_status_t zap_channel_open_any(uint32_t span_id, zap_direction_t direction, c
*zchan = NULL;
return ZAP_FAIL;
}
if (globals.spans[span_id].channel_request) {
return globals.spans[span_id].channel_request(&globals.spans[span_id], direction, caller_data, zchan);
if (globals.spans[span_id].channel_request && !globals.spans[span_id].suggest_chan_id) {
return globals.spans[span_id].channel_request(&globals.spans[span_id], 0, direction, caller_data, zchan);
}
span_max = span_id;
@@ -783,6 +783,12 @@ zap_status_t zap_channel_open_any(uint32_t span_id, zap_direction_t direction, c
check->state == ZAP_CHANNEL_STATE_DOWN
) {
if (globals.spans[span_id].channel_request) {
status = globals.spans[span_id].channel_request(&globals.spans[span_id], i, direction, caller_data, zchan);
zap_mutex_unlock(span->mutex);
goto done;
}
status = check->zio->open(check);
if (status == ZAP_SUCCESS) {