2011-12-06 20 views
5

मैं twilio api में नया हूं। एक वेब एप्लिकेशन में काम कर रहा है, मुझे कॉल को पूरा करना है या नहीं और मैं twiml को wav फ़ाइल भेज रहा हूं। तो पूरा मैं उपयोगकर्ता के ऋण की कटौती करना है .. मुझे निम्नलिखित कोड का उपयोग कर रहा हूँ ...twilio कॉल स्थिति (पूर्ण या नहीं) को कैसे जानें

callMeAction

 $AccountSid = "**********************"; 
     $AuthToken = "***************"; 

     /* Your Twilio Number or an Outgoing Caller ID you have previously validated 
      with Twilio */ 
     $from = '**************'; 

     /* Number you wish to call */ 
     $to = $_POST['contactno']; 

     /* Directory location for callback.php file (for use in REST URL) */ 
     $url = 'http://'.$_SERVER['HTTP_HOST'].'/public/'; 

     /* Instantiate a new Twilio Rest Client */ 
     $client = new Services_Twilio($AccountSid, $AuthToken); 



     /* make Twilio REST request to initiate outgoing call */ 
     $call = $client->account->calls->create($from, $to, $url . 'callback.php?number=' . $_POST['contactno'] . '&wav=' . $_POST['wav']); 

     /* redirect back to the main page with CallSid */ 
     $msg = urlencode("Connecting... " . $call->sid); 
     //header("Location: index.php?msg=$msg"); 

     $this->view->msg = $msg; 

     if($call->status == 'COMPLETED'){ 

      /* 
      * Deduct credit if call completed 
      */ 


      $this->view->msg = $msg; 
     } 

callback.php

<?php 
    echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n"; 
?> 



<?php if($_REQUEST['wav']){ ?> 
<Response> 
    <Say>A customer at the number <?php echo $_REQUEST['number']?> is calling</Say> 
    <Dial><?php echo $_REQUEST['number']?></Dial> 
    <Play><?php echo $_REQUEST['wav'] ;?></Play> 
</Response> 
<?php } ?> 

कृपया मेरी मदद करो। .. अग्रिम धन्यवाद। :)

उत्तर

4

StatusCallback (docs halfway down this page) के लिए एक यूआरएल सेट करें, और उस स्क्रिप्ट में अपना चार्ज तर्क डालें।

कॉल बनाते समय आप स्टेटस कॉलबैक यूआरएल पास करते हैं, तो आप चौथे तर्क के रूप में वैकल्पिक पैरामीटर की सरणी पास करने में सक्षम होना चाहिए: $client->account->calls->create()

इनकमिंग कॉल के लिए, यूआरएल (वैकल्पिक रूप से) प्रत्येक नंबर (या एप्लिकेशन, यदि आप उस विधि का उपयोग करते हैं) के लिए परिभाषित किया गया है।

+0

उत्तर के लिए धन्यवाद। मेरे पास ये कोड है लेकिन यह काम नहीं कर रहा है। ; http <पीएचपी गूंज $ _REQUEST [ 'wav']?>: // myUrl पोस्ट Manoj

+3

नहीं है एक वैध TwiML क्रिया। कॉलबैक संबंधित फोन नंबर के कॉन्फ़िगरेशन पैरामीटर में निर्दिष्ट है (twilio.com पर आपके डेवलपर डैशबोर्ड में)। भेजा गया लिंक लिंक टिम के माध्यम से पढ़ें। – Greg

+0

आशा से थोड़ा और स्पष्टता के साथ अपडेट किया गया। –

3

यदि आप आरईएसटी इंटरफ़ेस के माध्यम से आउटबाउंड कॉल कर रहे हैं, तो आपको status callback in the request parameters निर्दिष्ट करने की आवश्यकता है।

इसके अलावा, यह कॉलबैक असीमित होगा, इसलिए आप अपने उदाहरण में कॉलिंग फ़ंक्शन में परिणामों की प्रतीक्षा नहीं कर सकते हैं। आपको कॉलबैक में क्रेडिट प्रबंधन करना होगा।

0

आपको अपने स्टेटस कॉलबैक पेज या फ़ंक्शन में कॉलिंग प्रतिक्रिया प्राप्त करने के बाद अपने कोड में स्टेटसकॉलबैक यूआरएल सेट करना चाहिए।

यह कॉलबैक यूआरएल लोकहोस्ट में काम नहीं करेगा। परीक्षण के लिए आपको 00webhost में अपनी परियोजना को तैनात करने के बाद इसे जांचना चाहिए, यह आपके लिए काम करेगा।

अधिक जानकारी के लिए कृपया twilio दस्तावेज़ीकरण पढ़ें।