CRM & SalesForce Pop-Up Does Not Work

On FreePBX 15.0.23 with all required licenses (CRM & Zulu) and using docs
https://wiki.freepbx.org/display/FPG/Setup+for+Salesforce
and
https://wiki.freepbx.org/display/FPG/Salesforce+API+Setup
Zulu is configured for CRM pop-up.
I setup a SalesForce integration and Sangoma Commercial Module Support and SalesForce Developer Support helped me to get it to work – sort of.
When the extension takes a call, there is no popup of any kind if I have the SalesForce CRM client window open. If it is NOT open, FreePBX opens a webpage with CRM agent login, but after login just default screen.
When the call Starts, I see the AGI call in the CLI like this:

[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi,true: LINKEDID: 1649696801.0
[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi,true: SOURCE: 17277258165
[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi,true: DESTINATION: 
[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi,true: DIRECTION: INBOUND
[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi,true: EXTTOCALL: 
[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi,true: START
[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi,true: SCRIPT: php /var/www/html/admin/modules/sangomacrm/importOne.php 'eyJ1dWlkIjoiMTY0OTY5NjgwMS4wIiwic291cmNlIjoiMTcyNzcyNTgxNjUiLCJkZXN0aW5hdGlvbiI6IiIsImRpcmVjdGlvbiI6IklOQk9VTkQiLCJ0eXBlIjoiU1RBUlQiLCJ6dWx1X3Jhd190eXBlIjoiU2FuZ29tYWNybS11cmwiLCJ6dWx1X3R5cGUiOiJ1cmwiLCJ6dWx1X3VybCI6Imh0dHBzOlwvXC9jcm1wYnguZGlwaG9uZXMuY29tXC9hZG1pblwvYWpheC5waHA/bW9kdWxlPXNhbmdvbWFjcm0mY29tbWFuZD1yZWRpcmVjdCZ0b2tlbj0xYjFkMDE5YS1kMzg1LTQzNTEtYTkzOS1iMWYxN2U1ODQwMzEmbGlua2VkaWQ9MTY0OTY5NjgwMS4wJnNyYz0xNzI3NzI1ODE2NSIsImV4dHRvY2FsbCI6IiIsImNudW0iOiIxNzI3NzI1ODE2NSIsImNuYW0iOiIxNzI3NzI1ODE2NSIsImNhbGxwb3AiOnRydWUsInZvaWNlbWFpbCI6IiJ9' > /dev/null 2>&1 &
[2022-04-11 17:06:41] VERBOSE[16996][C-00000001] res_agi.c: <PJSIP/QuesBlue-00000000>AGI Script agi://127.0.0.1/sangomacrm.agi completed, returning 0
...
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [1000@zulu-user-settings-map:1] Set("PJSIP/QuesBlue-00000000", "ZULU_URL=https://crmpbx.diphones.com/admin/ajax.php?module=sangomacrm&command=redirect&token=1b1d019a-d385-4351-a939-bzzzzzzzzzzzzzzzz&linkedid=1649696801.0&src=17277258165") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [1000@zulu-user-settings-map:2] Set("PJSIP/QuesBlue-00000000", "ZULU_TYPE=url") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [1000@zulu-user-settings-map:3] Set("PJSIP/QuesBlue-00000000", "ZULU_RAW_TYPE=Sangomacrm-url") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [1000@zulu-user-settings-map:4] Goto("PJSIP/QuesBlue-00000000", "s,end") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx_builtins.c: Goto (zulu-user-settings-map,s,2)
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [s@zulu-user-settings-map:2] Return("PJSIP/QuesBlue-00000000", "") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [s@macro-dial-one:4] Gosub("PJSIP/QuesBlue-00000000", "zulu-send-event,s,1(1000,17277258165)") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [s@zulu-send-event:1] GotoIf("PJSIP/QuesBlue-00000000", "0?skippopup") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [s@zulu-send-event:2] UserEvent("PJSIP/QuesBlue-00000000", "zulu-call,eventtype:calling,extension:1000,type:url,url:aHR0cHM6Ly9jcm1wYnguZGlwaG9uZXMuY29tL2FkbWluL2FqYXgucGhwP21vZHVsZT1zYW5nb21hY3JtJmNvbW1hbmQ9cmVkaXJlY3QmdG9rZW49MWIxZDAxOWEtZDM4NS00MzUxLWE5MzktYjFmMTdlNTg0MDMxJmxpbmtlZGlkPTE2NDk2OTY4MDEuMCZzcmM9MTcyNzcyNTgxNjU=,cnam:MTcyNzcyNTgxNjU=,cnum:17277258165,lid:1649696801.0,from:17277258165,to:1000}") in new stack
[2022-04-11 17:06:42] VERBOSE[16996][C-00000001] pbx.c: Executing [s@zulu-send-event:3] Goto("PJSIP/QuesBlue-00000000", "end") in new stack

Then, at end of call:

[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi: LINKEDID: 1649696801.0
[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi: SOURCE: 17277258165
[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi: DESTINATION: 
[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi: DIRECTION: INBOUND
[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi: EXTTOCALL: 1000
[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi: START
[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: agi://127.0.0.1/sangomacrm.agi: SCRIPT: php /var/www/html/admin/modules/sangomacrm/importOne.php 'eyJ1dWlkIjoiMTY0OTY5NjgwMS4wIiwic291cmNlIjoiMTcyNzcyNTgxNjUiLCJkZXN0aW5hdGlvbiI6IiIsImRpcmVjdGlvbiI6IklOQk9VTkQiLCJ0eXBlIjoiRU5EIiwienVsdV9yYXdfdHlwZSI6IlNhbmdvbWFjcm0tdXJsIiwienVsdV90eXBlIjoidXJsIiwienVsdV91cmwiOiJodHRwczpcL1wvY3JtcGJ4LmRpcGhvbmVzLmNvbVwvYWRtaW5cL2FqYXgucGhwP21vZHVsZT1zYW5nb21hY3JtJmNvbW1hbmQ9cmVkaXJlY3QmdG9rZW49MWIxZDAxOWEtZDM4NS00MzUxLWE5MzktYjFmMTdlNTg0MDMxJmxpbmtlZGlkPTE2NDk2OTY4MDEuMCZzcmM9MTcyNzcyNTgxNjUiLCJleHR0b2NhbGwiOiIxMDAwIiwiY251bSI6IjE3Mjc3MjU4MTY1IiwiY25hbSI6IjE3Mjc3MjU4MTY1IiwiY2FsbHBvcCI6ZmFsc2UsInZvaWNlbWFpbCI6IiJ9' > /dev/null 2>&1 &
[2022-04-11 17:07:02] VERBOSE[16996][C-00000001] res_agi.c: <PJSIP/QuesBlue-00000000>AGI Script agi://127.0.0.1/sangomacrm.agi completed, returning 0

And then I can see a record of the call in SF:

But, as you can see, there is no recording and I don’t get an opportunity to make notes on the call until I hang up and it is somehow turned into a task.

SalesForce support asked me where I was uploading the file. I have no clue, so I asked Sangoma Support, and they are just ignoring the ticket. My CRM config:


So, does anyone know, as I asked Sangoma support:

Where in the SalesForce data structure do the recordings get posted?
–or–
What SalesForce API function is called to upload recording?

Thanks!
If I can get the answer to one of those questions I can get a SalesForce developer to help me.

I wrote this 4 or 5 years ago. I don’t know what has been touched or changed since I left the company about 3 years ago. I assume they have kept up with API changes.

Essentially when a call comes in a record is created. At the end of the call the record is updated. If the call was answered it will be handled based on your settings. If there is an associated recording it is attached to the call. In some CRM’s it may have required attaching to the contact/lead/account. Again it has been years and I wrote integrations for like 4 platforms as part of the module. They are all jumbled in who required what.

edit:
Skimming the docs it looks like you upload the file and assign a parentid to it. That is what makes it show up places. I would let SF support know it is a REST API upload probably with api version 37/38 and see if that is of any use to them. This does NOT use apex

Thanks @jfinstrom. I’ll see what I can do with SF with that info. I am a bit surprised Sangoma Support can’t get me an answer. I assume I am not the only one trying to integrate SangomaCRM with SalesForce, so someone must know the tricks.

To flip the coin, people that are paying for Salesforce, are likely paying another vendor for telephony. The majority of the user base (who complain that commercial modules cost anything at all) does not likely use Salesforce.

This topic was automatically closed 31 days after the last reply. New replies are no longer allowed.