Not able to pass EntityId and EntityType to SQL during Call Reporting #2

Status
Not open for further replies.

LEAD

Customer
Joined
Jan 5, 2021
Messages
52
Reaction score
10
Creating new thread for this issue since the old one was accidently closed.

Old Thread:
https://www.3cx.com/community/threa...-sql-during-call-reporting.86233/#post-406638

Respond back to @edossantos
"The call being recorded or not shouldn't make any change..." but I think it is. Let me explain my steps and logic.(Note that our incoming numbers are in E164 format)



  1. Be on V16
  2. Purge all Contacts
  3. Take full backup
  4. Open zip and review xxxxxxxxxDb.xml file to make sure there is no residual data left that would potentially tie anything to a lead or contact in CRM.
    1. Confirmed db was clean
  5. Install V18
  6. Import backup
  7. Add new CRM Integration xml
  8. Confirm that setting for digit match is set to minimum with Value of 7
  9. Run test lookup and confirm everything works, including pulling EntityId and EntityType as mentioned in previous thread
  10. Place call to a CRM test contact that has country code missing, but all other 10 digits are a match. (Greater than 7 min requirement)
  11. Look at Verbose logs and it pulls the contact information
  12. When ReportCall method is run, EntityId and EntityType are blank
  13. I do a partial backup so I can see what is in the "PhoneBookEntries" for the newly created PhoneBookEntry record
  14. I notice that the EntityId and EntityType are already in 3CX database and that phone number is also correct.
    1. 1638812969070.png
  15. Go into CRM and update the phone number to include country code so now all 11 digits are a perfect match
  16. I don't even delete the record because I'm brazen
  17. Place test call
  18. Check CRM and RecordCall works!
  19. Check logs and 3CX updated the existing record with the now new phone number
  20. Repeated this with multiple contacts and confirmed the behavior is the same.

My Logic:
What should happen:
  1. Call comes in
  2. Pull record from CRM including EntityId and EntityType based on parameters set.
  3. The phone number for the contact SHOULD be what 3CX sees from SIP provider, and all other data from CRM
  4. Then when reporting call it should match the Number for the call with the internal DB number. This should be an exact match since it is supposed to be the number pulled from the SIP provider.
What is happening:
  1. Call comes in
  2. Pull record from CRM including EntityId and EntityType based on parameters set.
  3. ALL fields are updated using CRM data, ****including the phone number****
  4. Then when reporting call, there is no exact match since the call [Number] is not the same as the PhoneBookEntry <AddressNumberOrData3>
 
  • Like
Reactions: edossantos
Just looked at an old backup, the data for PhoneBookEntry in V16 was also ALL pulled from CRM. What was happening before was it was again doing a CRM lookup and matching. As I understand for V18 that step was removed. This time however, looks like the internal match for [Number] and <AddressNumberOrData3> has no minimum setting, but needs to be an exact match.
 
Hello @LEAD,

Thanks for bringing this to our attention. After your detailed description, I understand the issue, and can confirm that this is a bug in the logic that searches for the contact in the global phonebook.

I will report this internally and hopefully we will have it fixed in the next 3CX update.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

Threads
112,323
Messages
591,896
Members
165,474
Latest member
costionofrei