Contact us and get more informations

INTRODUCION

The Quakker application is a solution aimed at customers using the salesforce system who want to use information relatno sam kbmax of the above cases, the Quakker application allows you to increase efficiency and save time by automating contact handling and reporting activities. 

STANDARDS

i. rfc7118 – https://datatracker.ietf.org/doc/html/rfc7118 

“The WebSocket protocol enables two-way real-time communication between clients and servers in web-based applications. This document specifies a WebSocket subprotocol as a reliable transport mechanism between Session Initiation Protocol (SIP) entities to enable use of SIP in web-oriented deployments.” 

ii. rfc3261 – https://datatracker.ietf.org/doc/html/rfc3261 

“This document describes Session Initiation Protocol (SIP), an application-layer control (signaling) protocol for creating, modifying, and terminating sessions with one or more participants These sessions include Internet telephone calls, multimedia distribution, and multimedia conferences. 

SIP invitations used to create sessions carry session descriptions that allow participants to agree on a set of compatible media types. SIP makes use of elements called proxy servers to help route requests to the user’s current location, authenticate and authorize users for services, implement provider call-routing policies, and provide features to users. SIP also provides a registration function that allows users to upload their current locations for use by proxy servers. SIP runs on top of several different transport protocols.” [rfc3261 Abstract]

FUNCTIONALITIES

  • User access management for the Call Center (login panel, username, password, web socket, agent’s phone number) 

  • Making and receiving calls 

  • Notification of incoming calls – sound on the computer and information on the browser tab 4

  • Ability to create a new contact, account, or lead for calls from unknown numbers in Salesforce 

  • Generating call plans based on made and received calls (creating tasks) 

  • Creating notes during a meeting (saving on related record) / creating tasks, such as call planning 

  • Access to notes made during a call from the Lead or Contact level 

  • Saving calls as Salesforce Events (missed, unsuccessful, outgoing completed, incoming completed) 

  • Storing information about call duration and overall interaction time for later reporting 

  • Agent availability management (online, offline) 

  • Quick access to the call plan (incoming and uncompleted calls), sorted by time 

  • Notification of upcoming task in the plan 

  • Access to call history screen and notification icon indicating the number of missed calls 

  • Contact identification by phone number 

  • Identifying contacts during incoming calls

  • Number owner search – contacts, accounts, leads by name or number for making a call

REQUIREMENTS

WEBBROWSER SUPPORTING WEBSOCKETS

To ensure the optimal performance and functionality of our application, it is imperative to use web browsers that natively support WebSockets. Below is a list of web browsers that are compliant with WebSockets:

Google Chrome: Version 16 and later. 

Mozilla Firefox: Version 11 and later. 

Apple Safari: Version 6 and later. 

Microsoft Edge: All versions since its release. 

Opera: Version 12.10 and later.

Note: While other browsers might work with our application, the above-listed ones have been extensively tested and are recommended for the best user experience. Ensure that you are using the latest versions of these browsers to benefit from all the features and security updates.

If you are using a browser not listed here, please refer to its documentation or support page to check for WebSocket compatibility.

Remember to always keep your browser updated to ensure the smooth running of applications and enhance your online security. 

SALESFORCE LICENCES

The app is available for the following Salesforce editions:

● Unlimited

● Enterprise 

● Professional

SIP WEBSOCKET CAPABLE SERVER

For the effective operation of our application, users must have access to a server that supports SIP (Session Initiation Protocol) over WebSockets. This is a crucial requirement as our application leverages the power and flexibility of SIP combined with the real-time capabilities of WebSockets to facilitate seamless communication.

Details:

SIP WebSocket Transport: Our application relies on the SIP WebSocket Transport mechanism as laid out in RFC 7118. This protocol defines how SIP can operate over WebSocket, allowing for a richer and more interactive user experience.

JsSIP Integration: The application incorporates the JsSIP library, which implements the aforementioned “SIP WebSocket Transport”. With this, JsSIP operates as a “SIP WebSocket Client”, meaning it uses WebSocket as a transport to send and receive SIP messages.

Server Specifications: The SIP server you choose should be capable of handling WebSocket connections and be compliant with RFC 7118. This ensures that the server can seamlessly integrate with our application and facilitate the exchange of SIP messages without any hitches.

Recommendation: Before committing to a SIP provider, ensure they offer support for WebSockets and are familiar with the integration of JsSIP or similar libraries. This will guarantee smoother setup and operation as you utilize our application.

By meeting the aforementioned requirements, users can expect robust and uninterrupted communication facilitated by our advanced application infrastructure. Ensure your SIP server is up-to-date and compliant to enjoy the full range of features on offer.

SOLUTION ARCHITECTURE DESCRIPTION & EXAMPLES

AUTHORIZATION

Example of message exchange with proper authentication 

sending message: 

JsSIP:Transport sending message:REGISTER 

sip:sip.SipProvaiderDomain.pl SIP/2.0 

Via: SIP/2.0/WSS pjcu3ict17cn.invalid;branch=z9hG4bK3927504 Max-Forwards: 69 

To: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl> 

From: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=btu45ag6vv Call-ID: p6mga6n2a1m345i2heimdb 

CSeq: 1 REGISTER 

Contact: 

<sip:l1pu68e8@pjcu3ict17cn.invalid;transport=ws>;+sip.ice;reg-id=1 ;+sip.instance=”<urn:uuid:225d7431-d9e5-4f75-ba3e-76f4ff204011>”;e xpires=600 

Expires: 600 

Allow: 

INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY Supported: path,gruu,outbound 

User-Agent: JsSIP 3.10.0 

Content-Length: 0 

received text message: 

SIP/2.0 401 Unauthorized 

Via: SIP/2.0/WSS 

jmg6a93rbrh6.invalid;rport=61821;received=188.146.108.57;branch=z9 hG4bK1098034 

From: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=k10k5n0jul

To: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=as48e73e32 Call-ID: fo3la6fqonltpu4h7pag9v 

CSeq: 1 REGISTER 

Server: SipProvaiderDomainVPBXv15 

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE 

Supported: replaces, timer 

WWW-Authenticate: Digest algorithm=MD5, 

realm=”sip.SipProvaiderDomain.pl”,

nonce=”6cb24f02″ Content-Length: 0 

sending message: 

REGISTER sip:sip.SipProvaiderDomain.pl SIP/2.0 

Via: SIP/2.0/WSS jmg6a93rbrh6.invalid;branch=z9hG4bK5641905 Max-Forwards: 69 

To: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl> 

From: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=k10k5n0jul Call-ID: fo3la6fqonltpu4h7pag9v

CSeq: 2 REGISTER 

Authorization: Digest algorithm=MD5, username=”clorcesolu_11″, realm=”sip.SipProvaiderDomain.pl”, nonce=”6cb24f02″, uri=”sip:sip.SipProvaiderDomain.pl”, 

response=”7e67b45a890a1c40b4fe6a712dd4ff8e” 

Contact: 

<sip:j29sue40@jmg6a93rbrh6.invalid;transport=ws>;+sip.ice;reg-id=1 ;+sip.instance=”<urn:uuid:432677a7-ec66-4c66-b5eb-e805f7dde446>”;e xpires=600 

Expires: 600 

Allow: 

INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY Supported: path,gruu,outbound 

User-Agent: JsSIP 3.10.0 

Content-Length: 0 

received text message: 

OPTIONS sip:j29sue40@jmg6a93rbrh6.invalid;transport=ws SIP/2.0 Via: SIP/2.0/WSS 

79.133.211.90;branch=z9hG4bK56fb.1d78fe96d08492b3deb665730a5bb371. 0 

Via: SIP/2.0/UDP 

79.133.211.69:5060;received=10.192.173.160;branch=z9hG4bK750614bb; rport=5060 

Max-Forwards: 69 

From: „Unknown” <sip:Unknown@79.133.211.69>;tag=as1d597857 To: 

<sip:j29sue40@jmg6a93rbrh6.invalid;transport=ws;alias=188.146.108. 57~61821~6> 

Contact: <sip:Unknown@10.192.173.160:5060> 

Call-ID: 280a14126b5eaec5490badb81d7a0d0a@79.133.211.69:5060 CSeq: 102 OPTIONS 

Date: Wed, 11 Oct 2023 10:39:29 GMT 

Supported: replaces, timer 

Content-Length: 0 

Allow: INVITE, ACK, CANCEL, BYE, NOTIFY, REFER, OPTIONS, SUBSCRIBE, PUBLISH, MESSAGE, REGISTER 

User-Agent: TC Edge 1 


sending message: 

SIP/2.0 200 OK 

Via: SIP/2.0/WSS 

79.133.211.90;branch=z9hG4bK56fb.1d78fe96d08492b3deb665730a5bb371. 0 

Via: SIP/2.0/UDP 

79.133.211.69:5060;received=10.192.173.160;branch=z9hG4bK750614bb; rport=5060 

To: 

<sip:j29sue40@jmg6a93rbrh6.invalid;transport=ws;alias=188.146.108. 57~61821~6>;tag=m7thrjq6po 

From: „Unknown” <sip:Unknown@79.133.211.69>;tag=as1d597857

Call-ID: 280a14126b5eaec5490badb81d7a0d0a@79.133.211.69:5060 CSeq: 102 OPTIONS 

Allow: 

INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY Accept: application/sdp, application/dtmf-relay 

Supported: outbound 

Content-Length: 0 

received text message: 

SIP/2.0 200 OK 

Via: SIP/2.0/WSS 

jmg6a93rbrh6.invalid;rport=61821;received=188.146.108.57;branch=z9 hG4bK5641905 

From: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=k10k5n0jul To: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=as48e73e32 Call-ID: fo3la6fqonltpu4h7pag9v 

CSeq: 2 REGISTER 

Server: SipProvaiderDomainVPBXv15 

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE 

Supported: replaces, timer 

Expires: 600 

Contact: 

<sip:j29sue40@jmg6a93rbrh6.invalid;transport=ws;alias=188.146.108. 57~61821~6>;expires=600 

Date: Wed, 11 Oct 2023 10:39:29 GMT 

Content-Length: 0


MAKE CALL

JSSIP: 

JsSIP:UA call() +54s 

aura_proddebug.js:34336 JsSIP:RTCSession new +0ms 

aura_proddebug.js:34336 JsSIP:RTCSession connect() +0ms aura_proddebug.js:34336 JsSIP:RTCSession emit „peerconnection” +2ms 

aura_proddebug.js:34336 JsSIP:RTCSession newRTCSession() +0ms aura_proddebug.js:34336 JsSIP:RTCSession session connecting +317ms aura_proddebug.js:34336 JsSIP:RTCSession emit „connecting” +0ms aura_proddebug.js:34336 JsSIP:RTCSession createLocalDescription() +0ms 

aura_proddebug.js:34336 JsSIP:RTCSession emit „sdp” +127ms aura_proddebug.js:34336 JsSIP:RTCSession emit „sending” [request:Proxy(Object) {}] +0ms

sending message: 

INVITE sip:111222333@sip.SipProvaiderDomain.pl SIP/2.0 Via: SIP/2.0/WSS a1mmpeiigv4s.invalid;branch=z9hG4bK9758115 Max-Forwards: 69 

To: <sip:111222333@sip.SipProvaiderDomain.pl> 

From: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=ho6mc1jlub Call-ID: kk7fio7pctpka2crqf4n 

CSeq: 2125 INVITE 

Contact: <sip:derp7d9t@a1mmpeiigv4s.invalid;transport=ws;ob> Content-Type: application/sdp 

Allow: 

INVITE,ACK,CANCEL,BYE,UPDATE,MESSAGE,OPTIONS,REFER,INFO,NOTIFY Supported: ice,replaces,outbound 

User-Agent: JsSIP 3.10.0 

Content-Length: 1494 

v=0 

o=- 6888356448041348130 2 IN IP4 127.0.0.1 

s=- 

t=0 0 

a=group:BUNDLE 0 

a=extmap-allow-mixed 

a=msid-semantic: WMS bdf7bd99-ef6f-4179-ba01-5f38dc8b0641 m=audio 64248 UDP/TLS/RTP/SAVPF 111 63 9 0 8 13 110 126 c=IN IP4 192.168.8.129 

a=rtcp:9 IN IP4 0.0.0.0 

a=candidate:1520861122 1 udp 2122260223 192.168.8.129 64248 typ host generation 0 network-id 1 

a=candidate:2752293718 1 tcp 1518280447 192.168.8.129 9 typ host tcptype active generation 0 network-id 1 

a=ice-ufrag:cw52 

a=ice-pwd:Z4kBHYCMmKv7/luN+iiUQ6Il 

a=ice-options:trickle 

a=fingerprint:sha-256 

07:0E:F6:DF:EC:E4:03:51:81:35:70:8F:7C:5D:BE:78:90:21:75:8F:40:50: D3:E9:68:84:09:9F:FC:D1:6F:6B 

a=setup:actpass 

a=mid:0 

a=extmap:1 urn:ietf:params:rtp-hdrext:ssrc-audio-level a=extmap:2 

http://www.webrtc.org/experiments/rtp-hdrext/abs-send-time a=extmap:3 

http://www.ietf.org/id/draft-holmer-rmcat-transport-wide-cc-extens ions-01 

a=extmap:4 urn:ietf:params:rtp-hdrext:sdes:mid 

a=sendrecv 

a=msid:bdf7bd99-ef6f-4179-ba01-5f38dc8b0641 

77e7f45c-8322-4a5a-aa60-35487050e25b 

a=rtcp-mux 

a=rtpmap:111 opus/48000/2

a=rtcp-fb:111 transport-cc 

a=fmtp:111 minptime=10;useinbandfec=1 

a=rtpmap:63 red/48000/2 

a=fmtp:63 111/111 

a=rtpmap:9 G722/8000 

a=rtpmap:0 PCMU/8000 

a=rtpmap:8 PCMA/8000 

a=rtpmap:13 CN/8000 

a=rtpmap:110 telephone-event/48000 

a=rtpmap:126 telephone-event/8000 

a=ssrc:2814405681 cname:OEvHRMI9Mka/Vgr7 

a=ssrc:2814405681 msid:bdf7bd99-ef6f-4179-ba01-5f38dc8b0641 77e7f45c-8322-4a5a-aa60-35487050e25b 

received text message: 

SIP/2.0 100 Trying – Thank you for using SipProvaiderDomain Via: SIP/2.0/WSS 

a1mmpeiigv4s.invalid;branch=z9hG4bK9758115;rport=23184;received=18 8.146.108.57 

To: <sip:111222333@sip.SipProvaiderDomain.pl> 

From: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=ho6mc1jlub Call-ID: kk7fio7pctpka2crqf4n 

CSeq: 2125 INVITE 

Server: kamailio (5.2.5 (x86_64/linux)) 

Content-Length: 0 

received text message: 

SIP/2.0 401 Unauthorized 

From: <sip:clorcesolu_11@sip.SipProvaiderDomain.pl>;tag=ho6mc1jlub To: <sip:111222333@sip.SipProvaiderDomain.pl>;tag=as43af8d62 Call-ID: kk7fio7pctpka2crqf4n 

CSeq: 2125 INVITE 

Server: SipProvaiderDomainVPBXv15 

Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH, MESSAGE 

Supported: replaces, timer 

WWW-Authenticate: Digest algorithm=MD5, 

realm=”sip.SipProvaiderDomain.pl”, nonce=”2268227e” Content-Length: 0 

Via: SIP/2.0/WSS 

a1mmpeiigv4s.invalid;rport=23184;received=188.146.108.57;branch=z9 hG4bK9758115 

Contact: 

<sip:atpsh-64d33965-6e0-2bea31@185.73.230.250:8089;transport=ws> 

sending message: 

ACK sip:111222333@sip.SipProvaiderDomain.pl SIP/2.0 Via: SIP/2.0/WSS a1mmpeiigv4s.invalid;branch=z9hG4bK9758115 Max-Forwards: 69 

To: <sip:111222333@sip.SipProvaiderDomain.pl>;tag=as43af8d62

WHAT QUAKKER CAN DO?

Become Quakker Partner Today!

Contact us:

quakker@clorce.com

+48 601 999 237

+48 22 230 25 97