continue; } if ($num_try == 0) { $uniqueid = $agi->request['agi_uniqueid']; } else { $uniqueid = $agi->request['agi_uniqueid'] . '-' . $num_try; } $route['call_uniqueid'] = $uniqueid; if ($dialstr === null) { $last_prob = 'unreachable'; continue; } elseif (!$dialstr) { $last_prob = 'no-dialstring'; continue; } elseif ($dialstr === true) { if (dialSpecial($dialnum, $route, $card, $card_money, $last_prob, $agi, $attempt)) { break; } else { continue; } } if ($special_only) { break; } // Callerid if ($route['clidreplace'] !== NULL) { $new_clid = str_alparams($route['clidreplace'], array('useralias' => $card['useralias'], 'nplan' => $card['numplan'], 'callernum' => $agi->request['agi_callerid'])); } else { $new_clid = $agi->request['agi_callerid']; } if ($route['trunkfmt'] == 15) {
$dialstr = formatDialstring($didrow['dialstring'], $route, $card); if ($special_only && $dialstr !== true) { continue; } $route['call_uniqueid'] = $uniqueid; if ($dialstr === null) { $last_prob = 'unreachable'; continue; } elseif (!$dialstr) { $last_prob = 'no-dialstring'; continue; } elseif ($dialstr === true) { if ($did_clidname != $agi->request['agi_calleridname']) { $agi->set_variable('CALLERID(name)', $did_clidname); } if (dialSpecial($didrow['dialstring'], $route, $card, $card_money, $last_prob, $agi, $attempt)) { break; } else { continue; } } // Callerid if ($did_clidreplace !== NULL) { $new_clid = str_alparams($did_clidreplace['repl'], array(useralias => $card['useralias'], nplan => $card['numplan'], callernum => $agi->request['agi_callerid'], callern => substr($agi->request['agi_callerid'], $did_clidreplace['find_len']))); } else { $new_clid = $agi->request['agi_callerid']; } // we always reset the clid, because the previous rate // engine may have changed it. $agi->conlog("Setting clid to : \"{$did_clidname}\" <{$new_clid}>", 3); if ($did_clidname != $agi->request['agi_calleridname']) {