When an inbound call has E.164 caller ID format (eg Skyetel), the + is being stripped from the caller_id_number variable before storing in the v_xml_cdr database table. If we then try and block this CDR in the Call Block application it adds the number BUT without the + so it never matches future calls.
This proposed change ensures that the + is not stripped for INBOUND calls when written to v_xml_cdr and therefore when blocking the CDR it works correctly (i.e. it includes the + which then matches the call next time and blocks it).
* record_name verification
* record_name better verification
when you carry on some updates from 4.0 to 4.2 and then 4.4, old dialplans do not create all the variables, record_session is created, but record_name (and record_path) are not null, set and lenght zero, "" in otherwords.
Then, in the db record, record_name and record_path are empty, regardless if the recording file exists. Therefore, they are not shown in the CDR app.
This fixes this issue.
* Bug fix: No answer_stamp in CDR
Here's a fun little bug that took me a longer than it should have to figure out. When a person make a call and then cancels the request there is no "answer_stamp" written to the CDR. Because of this, v_call_recordings.call_recording_name gets imported as NULL. This causes all the canceled calls to show up in the Call Recordings app first in the list and with no date set.
* Update xml_cdr.php
* Update v_xml_cdr_import.php