Jump to content

Search the Community

Showing results for tags 'call routing'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Welcome to the 2600Hz Forums!
    • Forum Rules & Announcements
    • Upcoming Events: Come Meet Us!
    • 2600Hz News
    • Introductions
  • Platform Basics
    • Product Discussion
    • Tips and Feedback
    • Starting Out and Training
  • Advanced Topics
  • 2600Hz Mobile
    • 2600Hz Mobile
  • 2600Hz Open Source Developers
    • General OS Kazoo Questions
  • Vendor Discussion
    • Hardware Endpoints
    • PSTN, Software, and Services

Categories

  • 2600Hz Mobile
    • Sales and Marketing
  • Accounts Manager
    • User Resources
    • Sales and Marketing
  • Advanced Provisioner
    • Sales and Marketing
    • User Resources
  • Authentication
    • User Resources
    • Sales and Marketing
  • Billing and Transactions
  • Blocklist Numbers
    • Sales and Marketing
    • User Resources
  • Branding Manager
    • User Resources
    • Sales and Marketing
  • Callflows | Advanced Callflows
    • User Resources
    • Sales and Marketing
  • Call Center
    • Sales and Marketing
  • Call Recording
    • User Resources
    • Sales and Marketing
  • CallThru.us
    • User Resources
    • Sales and Marketing
  • Cluster Manager
    • Sales and Marketing
    • User Resources
  • comm.land Desktop User Portal
    • User Resources
    • Sales and Marketing
  • Conference Manager
    • User Resources
    • Sales and Marketing
  • CSV Onboarding
    • User Resources
    • Sales and Marketing
  • Debug Tool
  • Dial Plan Manager
    • User Resources
    • Sales and Marketing
  • Duo Integration
    • User Resources
    • Sales and Marketing
  • Dynamic Caller ID
    • User Resources
    • Sales and Marketing
    • Sales and Marketing
  • Fax Manager
    • Sales and Marketing
  • Integration | Connector Tools
    • User Resources
    • Sales and Marketing
  • Language Pack Editor
    • User Resources
    • Sales and Marketing
  • Migration Application
    • User Resources
    • Sales and Marketing
  • Number Manager
    • Sales and Marketing
    • User Resources
  • Operator Console
    • User Resources
    • Sales and Marketing
  • Operator Console Pro
    • User Resources
    • Sales and Marketing
  • PBX Connector
    • User Resources
    • Sales and Marketing
  • Pivot
    • User Resources
    • Sales and Marketing
  • Porting Manager
    • User Resources
    • Sales and Marketing
  • Reseller Reporting
    • Sales and Marketing
  • Smart PBX
    • User Resources
    • Video Tutorials
    • Sales and Marketing
  • T-Mobile
    • User Resources
    • Sales and Marketing
  • User Portal
    • User Resources
    • Sales and Marketing
  • Voicemail Manager
    • Sales and Marketing
  • WebHooks
    • Sales and Marketing
  • Websockets
    • Sales and Marketing
  • Zapier
    • User Resources
    • Sales and Marketing
  • General
    • How To Docs
    • General Notes

Calendars

  • Open Source Calendar
  • General Announcements
  • Industry Events

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 1 result

  1. I have recently started to investigate to figure out how I can instruct kazoo to route the call to my specified resource from Click2Call API. With suggestions from 2600hz community forum and after some trial & error, finally, I am able to design a solution to achieve this goal. Let’s first understand my goal in detail. For example, I have two remote PBX (asterisk1 & asterisk2) which I have added as resources in kazoo. Both asterisk1 and asterisk2 instances have the same extension 70003. Now if I use clicktocall for dialing 70003, how can I instruct kazoo from clicktocall so that it will dial 70003@asterisk1, not 70003@asterisk2? As I am calling ClicktoCall API from my web app and resource selection logic is also resides in my web app, somehow I need to tell ClicktoCall API which resource to route the call while invoking from the web app. To accomplish this, I have used The rules key on the resource which matches the number dialled. Actually, I have added a unique prefix before the regex pattern in the rules key for each resource. The rules key supports capture groups, in parenthesis. Those will throw away whatever is outside the parenthesis before sending it to the resource. As per my example, For the Asterisk1 resource, I am putting “1(.{5})” for the value of rules, and For the Asterisk2 resource, I am putting “2(.{5})” for the value of rules. So when my web app hits my clicktocall endpoint with the dialled extension of 270003, it will get sent through Asterisk server #2 as 70003. When my clicktocall executes 170003, it will send the call to 70003 on Asterisk server 1, etc. Resource Details Details of my resource setup are as below Asterisk1 { “data”: { “name”: “Asterisk1”, “format_from_uri”: true, “rules”: [ “1(.{5})” ], “flags”: [ “Use_Asterisk1” ], “weight_cost”: 60, “formatters”: { “diversion”: [ { “match_invite_format”: true, “direction”: “outbound” } ], “outbound_caller_id_number”: [ { “value”: “70001” } ], “outbound_caller_id_name”: [ { “value”: “kazoo” } ] }, “gateways”: [ { “caller_id_type”: “external”, “channel_selection”: “ascending”, “codecs”: [ “PCMU”, “PCMA”, “OPUS” ], “custom_sip_headers”: {}, “emergency”: false, “enabled”: true, “endpoint_type”: “sip”, “format_from_uri”: true, “invite_format”: “route”, “password”: “asterisk1_password”, “prefix”: “”, “progress_timeout”: 30, “realm”: “asterisk1_ip”, “server”: “asterisk1_ip”, “skype_rr”: false, “suffix”: “”, “username”: “asterisk1_username”, “force_port”: false, “port”: 5060 } ], “emergency”: false, “enabled”: true, “from_account_realm”: false, “grace_period”: 5, “rules_test”: [], “id”: “c1ad847e401cb9c7a3f264a2840b2fff” }, “revision”: “26-db769ea7891fb82a1d2425a2fe269814”, “timestamp”: “2021–11–01T20:20:14Z”, “version”: “4.3.140”, “node”: “yMeslQexQufV5c-zOCJ0Ow”, “request_id”: “d20e9b4223a47931f4d19b0a5012ddc8”, “status”: “success”, “auth_token”: “auth_token” } Asterisk 2 { “data”: { “name”: “Asterisk”, “format_from_uri”: true, “rules”: [ “2(.{5})” ], “flags”: [ “Use_Asterisk2” ], “weight_cost”: 70, “formatters”: { “diversion”: [ { “match_invite_format”: true, “direction”: “outbound” } ], “outbound_caller_id_number”: [ { “value”: “70001” } ], “outbound_caller_id_name”: [ { “value”: “kazoo” } ] }, “gateways”: [ { “caller_id_type”: “external”, “channel_selection”: “ascending”, “codecs”: [ “PCMU”, “PCMA”, “OPUS” ], “custom_sip_headers”: {}, “emergency”: false, “enabled”: true, “endpoint_type”: “sip”, “format_from_uri”: true, “invite_format”: “route”, “password”: “asterisk2_password”, “prefix”: “”, “progress_timeout”: 30, “realm”: “asterisk2_ip”, “server”: “asterisk2_ip”, “skype_rr”: false, “suffix”: “”, “username”: “asterisk2_username”, “force_port”: false, “port”: 5060 } ], “emergency”: false, “enabled”: true, “from_account_realm”: false, “grace_period”: 5, “rules_test”: [], “id”: “c1ad847e401cb9c7a3f264a2840b2fff” }, “revision”: “26-db769ea7891fb82a1d2425a2fe269814”, “timestamp”: “2021–11–01T20:20:14Z”, “version”: “4.3.140”, “node”: “yMeslQexQufV5c-zOCJ0Ow”, “request_id”: “d20e9b4223a47931f4d19b0a5012ddc8”, “status”: “success”, “auth_token”: “auth_token” } So if my web app decides, it needs to make call to 70003 extension of Asterisk1 instance, then it will append prefix 1 for Asterisk1 (Setup in rules for Asterisk1 described earlier) before the extension 70003 in the value of contact field. https://crossbarserver.tld/v2/accounts/5123456789098765432abcd/clicktocall/my_cool_pivot_c2c/connect?contact=170003 Similarly, if my web app decides, it needs to make call to 70003 extension of Asterisk2 instance,then it will append prefix 2 for Asterisk2 (Setup in rules for Asterisk1 described earlier) before the extension 70003 in the value of contact field. https://crossbarserver.tld/v2/accounts/5123456789098765432abcd/clicktocall/my_cool_pivot_c2c/connect?contact=270003
×
×
  • Create New...