Не совсем понятно условие :)
Если нужно всю строку вернуть, то можно так:
if (strpos($str,'1427016978.56215')!==false && (strpos($str,'RINGNOANSWER')!==false ||strpos($str,'ABANDON')!==false)){
$parts = explode('|',$str);
// делаем то что нужно
var_dump($parts);
}
Правда не понятно, зачем вам preg_match_all.
Если вам же из длинной строки (много строк) - нужно выделить конкретную строку, то дайте более точное определение: что у вас является начало строки, и что конец строки. ,т.е. с какого символа возвращать.