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.