Jump to content

fmateo05

Members
  • Posts

    406
  • Joined

  • Last visited

  • Days Won

    28

Posts posted by fmateo05

  1. Hi. 

    I have edited the previous post for easy understanding and how to know how are the first or the second pivot script.

    The URL posted is an example, and you should set it to the site where your pivot scripts are hosted (it basically calls the second script with file named 'resource-cid-select.php')

    The Caller ID would be chosen depending of the dialed digit.

    If you dial (1)(1) after the prompt:

    First Digit: Carrier #1 or Carrier #2

    Second Digit: Caller ID in full format on kazoo

  2. First Pivot Script:

     

    <?php
    
    header('content-type:application/json');
    
    ?>
    
    {
        "module":"tts",
        "data":{
            "text": "Please select your Provider and CallerID",
    	"engine": "flite"
        },
        "children": {
            "_": {
                "module": "collect_dtmf",
                "data": {
                    "max_digits": 3,
                    "collection_name": "custom_name"
                },
                "children": {
                    "_": {
                        "module": "pivot",
                        "data": {
    			"voice_url": "http://portal.example.com/pivot/resource-cid-select.php"
                        },
                        "children": {}
                    }
                }
            }
        }
    }

    Second Pivot Script:

    <?php
    
    
    function signalwire($digitspl) {
    $signalwire = array("1631XXXXXXX", "1786XXXXXXX", "+1929XXXXXXX", "1848XXXXXXX", "1716XXXXXXX");
    $calleeid = '+' .  $_REQUEST['To'];
    header('content-type:application/json');
    ?>
    {
                        "module": "dynamic_cid",
                        "data": {
    			"action": "static",
    			"caller_id" : {
    				"name": "<?= $signalwire[$digitspl];   ?>",
    				"number": "<?= $signalwire[$digitspl];   ?>"
    				}
                        },
    		    "children": {
    			"_": {
    				"module":"resources",
    				"data": {
    					"use_local_resources": false ,
    					"outbound_flags": [ "signalwire" ],
    					"to_did": "<?=  $calleeid     ?>"
    					},
    					"children": {}
    
    				}
    
    
    			}
                    }
    <?php
    }
    
    function bulkvs($digitspl) {
    $bulkvs = array("1929XXXXXXX", "+1561XXXXXXX", "1786XXXXXXX", "1862XXXXXXXX");
    header('content-type:application/json');
    
    ?>
    {
                        "module": "dynamic_cid",
                        "data": {
    			"action": "static",
    			"caller_id" : {
    				"name": "<?= $bulkvs[$digitspl];   ?>",
    				"number": "<?= $bulkvs[$digitspl];   ?>"
    				}
                        },
    		    "children": {
    			"_": {
    				"module":"resources",
    				"data": {
    					"use_local_resources": false ,
    					"outbound_flags": ["bulkvs"],
    					"to_did": "<?=  $calleeid ;    ?>"
    					},
    					"children": {}
    
    				}
    
    
    			}
                    }
    <?php
    }
    
    
    
    
    $digitsel = $_REQUEST['Digits'];
    $digitspl = $digitsel['custom_name'];
    
    if($digitspl['0'] === '1' ){
    signalwire($digitspl['1']);
    }
    elseif($digitspl['0'] === '2') {
    bulkvs($digitspl['1']) ;
    }
    else {
    $calleeid = '+' .  $_REQUEST['To'];
    header('content-type:application/json');
    ?>
       {
                                    "module":"resources",
                                    "data": {
                                            "use_local_resources": false ,
                                            "to_did": "<?=  $digitspl    ?>"
                                            },
                                            "children": {}
    
                                    }
    	
    	}
    <?php
    }

     

    These pivot scripts can help as a quick method. For example, if you dial 12, it would choose the  assigned provider as first digit and the third callerid as the second one.

    First digit:

    > 1. 'Signalwire' < 

    2. Bulkvs

    Second digit:

    1.  1631XXXXXXX

    2. 1786XXXXXXX

    > 3.  '1929XXXXXXX' < 

     

  3. Hi. A month ago, I have purchased a OBi200 ATA suitable to handle Google Voice numbers.

    https://www.amazon.com/Obihai-OBi200-Adapter-Support-Service/dp/B07FCS1NGM/ref=sr_1_3?crid=3RMP8BGZKI72C&dchild=1&keywords=obi200+google+voice&qid=1614116005&sprefix=obi200%2Caps%2C205&sr=8-3

    Currently it is integrated on my kazoo cluster. There are some steps that will be shared and also will update this post. 

    After creating the account In the first time setup you should open port 10000/udp on your router forwarded to the Obi200's IP address. 

    In this install SP1 is the google voice's linked account, and SP2 is the SIP account linked as Kazoo device ATA

    You should set the following routing parameter in the SP2 setting (Obiexpert > Voice Services  > SP2 service > X_InboundCallRoute)

    image.png.9041ad4d44a89539086db5d8964588a2.png

    On SP1 setting (Obiexpert > Voice Services  > SP1 service > X_InboundCallRoute), you should set:

    sp2(<17862223333>)

    Then, 

    Obiexpert > Service Providers > ITSP Profile B SIP (this belongs to SP2)

    Here you set the kazoo ATA SIP device parameters and also set X_AccessList     to your kazoo's proxy ip addresses.

    The google voice profile was defined on the Non-expert user interface just before switching to OBi Expert configuration procedure. 

     

     

     

     

  4. 16 minutes ago, KNERD said:

    Here is just one of many types of comments I see,

     

    
     SignalWire has been far and away the worst - it goes offline, doesn't complete calls, etc. 

     

    Give me the entire link to the forum

    Anyway. I received a call from 2600hz's company (someone from sales engineering). For giving a tutorial about configuring kazoo with signalwire.

    image.png.08669bd2535ca12e0d589556f96d80d3.png

    Are these companies wrong because of  using signalwire??  I need further information and also the source link. 

     

  5. Hi.  

    I have re-installed  recently my kazoo cluster to UpCloud VPS provider (same number of servers). They have some statistic comparing to some others cloud providers. I decided to re-install  and test Kazoo there; the performance is very high (CPU, RAM, Disk IO, and network bandwidth). I am going to continue testing and recommend you to check it out .

    https://upcloud.com/

    https://upcloud.com/products/cloud-servers/

    https://upcloud.com/products/maxiops-storage/

    What is your opinion?

     

  6. 16 minutes ago, Shah said:

    Hi all,

    Is there a guide / how to on setting up Kazoo in Azure?   
    If not, does anyone want to help me create one for the community? If I'm building the environment in Azure, I might  as well share the lessons learnt.  

    I heard that as the public IP is not visible inside the VM, the out of the box config does not work?

    Any inputs are welcome.

    Cheers

    Check this out: 

     

    https://upcloud.com/compare/azure/

    https://upcloud.com/pricing/

  7. For inbound you must add the numbers on the account on full format mode (E.164), then add the carriers ip address to the acls. After that you should assign the numbers to any user or devices (on SmartPBX or Call-flows)

    For outbound calling you should use the resources  API, they can be global (to all accounts) or local to the account. 

    https://github.com/2600hz/kazoo/blob/master/applications/crossbar/doc/resources.md

×
×
  • Create New...