Call jourling

Status
Not open for further replies.

developerzeeshan

Free User
Joined
Aug 9, 2021
Messages
84
Reaction score
1
sir i cant receive miss call in crm but can receive answered call in crm this is my template only answered call i am recieving please help me please check the id and entity id is fine because not receiving any call other then answere incoming in crm


<Scenario Id="ReportCall" Type="REST" EntityId="CallID" EntityOrder="[CallID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Inbound,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[InboundCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[InboundCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs Next="ReportCallMissed" AllowEmpty="false" />
</Scenario>
<Scenario Id="ReportCallMissed" Type="REST" EntityId="CallMissedID" EntityOrder="[CallMissedID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Missed,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[MissedCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[MissedCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs Next="ReportCallOutbound" AllowEmpty="true" />
</Scenario>
<Scenario Id="ReportCallOutbound" Type="REST" EntityId="CallOutboundID" EntityOrder="[CallOutboundID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Outbound,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[OutboundCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[OutboundCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs Next="ReportCallNotanswered" AllowEmpty="false" />
</Scenario>
<Scenario Id="ReportCallNotanswered" Type="REST" EntityId="CallNotansweredID" EntityOrder="[CallNotansweredID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Notanswered,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[NotAnsweredOutboundCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[NotAnsweredOutboundCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs AllowEmpty="false" />
</Scenario>
<Scenario Id="ReportChat" Type="REST" EntityId="ChatID" EntityOrder="[ChatID]">
<Request SkipIf="[ReportChatEnabled]!=True" Url="https://crm.callcenterempire.com/createChat?agent=[Agent]&amp;agentemail=[AgentEmail]&amp;firstname=[AgentFirstName]&amp;lastname=[AgentLastName]&amp;chatmessage=[ChatMessages]&amp;chatsubject=[ChatSubject]&amp;duration=[Duration]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="email" Passes="1" Type="String"></Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="chatmessage" Passes="1" Type="Integer">[[ChatMessages].Replace("
","").Replace("
","&lt;br/&gt;").Replace("\","")]</Value>
<Value Key="chatsubject" Passes="2" Type="Integer">[ChatSubject]</Value>
<Value Key="agentfirstname" Passes="1" Type="Integer">[AgentFirstName]</Value>
<Value Key="agentlastname" Passes="1" Type="Integer">[AgentLastName]</Value>
</PostValues>
</Request>
<Variables />
<Outputs AllowEmpty="true" />
</Scenario>
 
Last edited:
Last edited:
One more thing sir only getting the request of the call number which is in the contact when search json returning empty then its not sending request to call journal and when search find the number in crm and return the filled json then its working fine
 
sir i cant receive miss call in crm but can receive answered call in crm this is my template only answered call i am recieving please help me please check the id and entity id is fine because not receiving any call other then answere incoming in crm


<Scenario Id="ReportCall" Type="REST" EntityId="CallID" EntityOrder="[CallID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Inbound,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[InboundCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[InboundCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs Next="ReportCallMissed" AllowEmpty="false" />
</Scenario>
<Scenario Id="ReportCallMissed" Type="REST" EntityId="CallMissedID" EntityOrder="[CallMissedID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Missed,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[MissedCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[MissedCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs Next="ReportCallOutbound" AllowEmpty="true" />
</Scenario>
<Scenario Id="ReportCallOutbound" Type="REST" EntityId="CallOutboundID" EntityOrder="[CallOutboundID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Outbound,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[OutboundCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[OutboundCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs Next="ReportCallNotanswered" AllowEmpty="false" />
</Scenario>
<Scenario Id="ReportCallNotanswered" Type="REST" EntityId="CallNotansweredID" EntityOrder="[CallNotansweredID]">
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Notanswered,True,False)])]" Url="https://crm.callcenterempire.com/createCall?number=[Number]&amp;agent=[Agent]&amp;calldirection=[CallDirection]&amp;calltype=[CallType]&amp;duration=[Duration]&amp;calltext=[NotAnsweredOutboundCallText]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="phone" Passes="1" Type="String">[Number]</Value>
<Value Key="calltype" Passes="1" Type="String">[CallType]</Value>
<Value Key="calldirection" Passes="1" Type="String">[CallDirection]</Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="calltext" Passes="2" Type="String">[NotAnsweredOutboundCallText]</Value>
</PostValues>
</Request>
<Variables />
<Outputs AllowEmpty="false" />
</Scenario>
<Scenario Id="ReportChat" Type="REST" EntityId="ChatID" EntityOrder="[ChatID]">
<Request SkipIf="[ReportChatEnabled]!=True" Url="https://crm.callcenterempire.com/createChat?agent=[Agent]&amp;agentemail=[AgentEmail]&amp;firstname=[AgentFirstName]&amp;lastname=[AgentLastName]&amp;chatmessage=[ChatMessages]&amp;chatsubject=[ChatSubject]&amp;duration=[Duration]" MessagePasses="0" RequestContentType="application/json" RequestEncoding="Json" RequestType="Get" ResponseType="Json">
<PostValues Key="">
<Value Key="duration" Passes="1" Type="String">[Duration]</Value>
<Value Key="email" Passes="1" Type="String"></Value>
<Value Key="agent" Passes="1" Type="String">[Agent]</Value>
<Value Key="chatmessage" Passes="1" Type="Integer">[[ChatMessages].Replace("
","").Replace("
","&lt;br/&gt;").Replace("\","")]</Value>
<Value Key="chatsubject" Passes="2" Type="Integer">[ChatSubject]</Value>
<Value Key="agentfirstname" Passes="1" Type="Integer">[AgentFirstName]</Value>
<Value Key="agentlastname" Passes="1" Type="Integer">[AgentLastName]</Value>
</PostValues>
</Request>
<Variables />
<Outputs AllowEmpty="true" />
</Scenario>
Please note that missed queue calls will not be reported. This is by design, to avoid reporting the same call many times for all the extensions of the queue. We're aware of this being a problem, and we're exploring options to solve this in a future update of 3CX. Until then, these calls will not be logged.

Also how can i remove + sign with number forwarding from 3cx
http://crm.callcenterempire.com/cre...type=Inbound&duration=00:01&calltext=Answered
see the + sign is with number even i add the source pattern here
View attachment 24515
In the template, you can use the following expression to remove the plus sign from the [Number] variable:
[[Number].Replace(&quot;+&quot;,&quot;%2B&quot;)]

One more thing sir only getting the request of the call number which is in the contact when search json returning empty then its not sending request to call journal and when search find the number in crm and return the filled json then its working fine
By default calls are only logged if there is a matched contact. You can edit your template to log calls anyway, if you remove the check of the EntityId from the SkipIf attribute. For example, you have this:
<Request SkipIf="[IIf([ReportCallEnabled]!=True||[EntityId]==&quot;&quot;,True,[IIf([CallType]!=Inbound,True,False)])]"

and you could change that to:
<Request SkipIf="[IIf([ReportCallEnabled]!=True,True,[IIf([CallType]!=Inbound,True,False)])]"
 
  • Like
Reactions: Evolute IT
One more thing sir only getting the request of the call number which is in the contact when search json returning empty then its not sending request to call journal and when search find the number in crm and return the filled json then its working fine
So the incoming missed calls and busy calls cant reporting in crm. I need to show popups for incoming missed call to agent
 
Can you tell me how can i add auto asnwer to a agent extension
 
sir there is the issue need to receive missed call in crm please tell to do as already add parameters in template
 
sir there is the issue need to receive missed call in crm please tell to do as already add parameters in template
Missed queue calls will not be reported. This is not something that you can change from the template. It's something that needs to be addressed in 3CX.
 
  • Like
Reactions: Evolute IT
Also not receiving the outbound calls records in crm as receving only incoming call records can you tell me please why its not reporting outbound calls in crm
 
Also not receiving the outbound calls records in crm as receving only incoming call records can you tell me please why its not reporting outbound calls in crm
In order to understand what's going on in this case, you need to enable verbose logs from the 3CX Console > Dashboard > Activity Log > Settings. Then make a test call to reproduce the issue, and check the 3cxSystemService.log file.
 
Hi sir here is the 3cxsystemservice can you see and tell me why outbound calls not working as inbound call reporting in crm
 

Attachments

sir i want to report unanswered or ringing in crm how can i do that please resolve this issue also will be thankful to you
 
Hi sir here is the 3cxsystemservice can you see and tell me why outbound calls not working as inbound call reporting in crm
This log is not in verbose mode. You need to enable verbose logs in order to get useful information in the log. You can do this from the 3CX Console > Dashboard > Activity Log > Settings.
 
This one you mean

1632462851016.png
 
  • Like
Reactions: edossantos
now enable verbose logs kindly check now
 

Attachments

also kindly guide me about did or ddi number or its name need to get in crm for inbound right now not find any parameters in 3cx wizard for this kindly guide me called number i mean on which number call is coming
 
also kindly guide me about did or ddi number or its name need to get in crm for inbound right now not find any parameters in 3cx wizard for this kindly guide me called number i mean on which number call is coming
There is no variable in the CRM template to send the DID to the CRM. Here you can see the available variables in each scenario:
https://www.3cx.com/docs/server-side-crm-template-xml-description/#h.vcivldjsa1lz

now enable verbose logs kindly check now
From the logs, this is what happens during contact lookup:
2021/09/24 09:36:05.058|24307|0053|Info|CRM: making request to CRM. Number=07739710091
2021/09/24 09:36:05.059|24307|0053|Trac|Obtaining scenario entity order for entity 'ContactID'
2021/09/24 09:36:05.059|24307|0053|Trac|Ordering configuration not found, using scenario entity order 0 for entity 'ContactID'
2021/09/24 09:36:05.059|24307|0053|Verb|Processing scenario 'Default'.
2021/09/24 09:36:05.059|24307|0053|Verb|Creating new HttpClient with no authentication
2021/09/24 09:36:05.059|24307|0053|Verb|Performing GET request 'http://54.38.120.117/crm/search?number=710091'.
2021/09/24 09:36:05.087|24307|0053|Verb|The response is: '{"contact":{"id":null,"firstname":null,"lastname":null,"company":"","email":null,"businessphone":null,"mobilephone":null}}'
2021/09/24 09:36:05.089|24307|0053|Verb|Filtered variables for matching:
2021/09/24 09:36:05.089|24307|0053|Verb| 'FirstName' = ''
2021/09/24 09:36:05.089|24307|0053|Verb| 'ContactID' = ''
2021/09/24 09:36:05.089|24307|0053|Verb| 'PhoneMobile' = ''
2021/09/24 09:36:05.089|24307|0053|Verb| 'Email' = ''
2021/09/24 09:36:05.089|24307|0053|Verb| 'CompanyName' = ''
2021/09/24 09:36:05.089|24307|0053|Verb| 'LastName' = ''
2021/09/24 09:36:05.090|24307|0053|Verb| 'PhoneBusiness' = ''
2021/09/24 09:36:05.090|24307|0053|Warn|Contact creation scenario with ID='CreateContactRecord' couldn't be found, contact will not be created.
2021/09/24 09:36:05.090|24307|0053|Verb|Removed from processing. Number=07739710091
2021/09/24 09:36:05.090|24307|0053|Info|CRM: processing of 07739710091 has been finished
As you can see 3CX is sending the last 6 digits only (710091). You probably want to do the lookup with the full number, so change the settings from the 3CX Console > Advanced > Contacts > Options > Match Exactly.

Next, your REST API is not returning any valid data, so there is no matched contact. Also, you're not implementing the scenario to create a new contact record, so there is no matched contact. Because of this, Call Journaling is skipped:
2021/09/24 09:36:13.722|24307|0053|Info|CRM: about to report 1 calls at maxConcurrency 1
2021/09/24 09:36:13.723|24307|0053|Verb|CRM: Call Journaling event received, searching for number '07739710091' in 3CX Contacts.
2021/09/24 09:36:13.723|24307|0053|Verb|Processing scenario 'ReportCall'.
2021/09/24 09:36:13.723|24307|0053|Verb|Creating new HttpClient with no authentication
2021/09/24 09:36:13.723|24307|0053|Verb|Skipping request...

You need a matching contact in order to report the call to the CRM.
 
Sir alreayd shared with me <Request SkipIf="[IIf([ReportCallEnabled]!=True,True,[IIf([CallType]!=Inbound,True,False)])]" to skip the contact lookup proccess if if the variables are empty so its sending the call journel variables and its working for inbound call correctly but not working for outbound call variables please guide me how can i find the outbound parameters also.Here is the screenshot receving inbound variables but never find outbound variables.

1632499996431.png

1632500176790.png
 
Sir alreayd shared with me <Request SkipIf="[IIf([ReportCallEnabled]!=True,True,[IIf([CallType]!=Inbound,True,False)])]" to skip the contact lookup proccess if if the variables are empty so its sending the call journel variables and its working for inbound call correctly but not working for outbound call variables please guide me how can i find the outbound parameters also.Here is the screenshot receving inbound variables but never find outbound variables.

View attachment 24681

View attachment 24683
You will need to adjust the SkipIf attribute for the remaining scenarios: "ReportCallMissed", "ReportCallOutbound" and "ReportCallNotanswered". You will see that you're checking if the EntityId is empty there, you need to remove that part from the expression. Then the call will be reported even if no contact is matched.
 
Status
Not open for further replies.

Latest Posts

Forum statistics

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