nest(new Voice\Client($name, $attributes)); } /** * Add Conference child. * * @param string $name Conference name * @param array $attributes Optional attributes * @return TwiML Child element. */ public function conference($name, $attributes = array()) { return $this->nest(new Voice\Conference($name, $attributes)); } /** * Add Number child. * * @param phoneNumber $phoneNumber Phone Number to dial * @param array $attributes Optional attributes * @return TwiML Child element. */ public function number($phoneNumber, $attributes = array()) { return $this->nest(new Voice\Number($phoneNumber, $attributes)); } /** * Add Queue child. * * @param string $name Queue name * @param array $attributes Optional attributes * @return TwiML Child element. */ public function queue($name, $attributes = array()) { return $this->nest(new Voice\Queue($name, $attributes)); } /** * Add Sim child. * * @param sid $simSid SIM SID * @return TwiML Child element. */ public function sim($simSid) { return $this->nest(new Voice\Sim($simSid)); } /** * Add Sip child. * * @param url $sipUrl SIP URL * @param array $attributes Optional attributes * @return TwiML Child element. */ public function sip($sipUrl, $attributes = array()) { return $this->nest(new Voice\Sip($sipUrl, $attributes)); } /** * Add Action attribute. * * @param url $action Action URL * @return TwiML $this. */ public function setAction($action) { return $this->setAttribute('action', $action); } /** * Add Method attribute. * * @param httpMethod $method Action URL method * @return TwiML $this. */ public function setMethod($method) { return $this->setAttribute('method', $method); } /** * Add Timeout attribute. * * @param integer $timeout Time to wait for answer * @return TwiML $this. */ public function setTimeout($timeout) { return $this->setAttribute('timeout', $timeout); } /** * Add HangupOnStar attribute. * * @param boolean $hangupOnStar Hangup call on star press * @return TwiML $this. */ public function setHangupOnStar($hangupOnStar) { return $this->setAttribute('hangupOnStar', $hangupOnStar); } /** * Add TimeLimit attribute. * * @param integer $timeLimit Max time length * @return TwiML $this. */ public function setTimeLimit($timeLimit) { return $this->setAttribute('timeLimit', $timeLimit); } /** * Add CallerId attribute. * * @param string $callerId Caller ID to display * @return TwiML $this. */ public function setCallerId($callerId) { return $this->setAttribute('callerId', $callerId); } /** * Add Record attribute. * * @param dial:Enum:Record $record Record the call * @return TwiML $this. */ public function setRecord($record) { return $this->setAttribute('record', $record); } /** * Add Trim attribute. * * @param dial:Enum:Trim $trim Trim the recording * @return TwiML $this. */ public function setTrim($trim) { return $this->setAttribute('trim', $trim); } /** * Add RecordingStatusCallback attribute. * * @param url $recordingStatusCallback Recording status callback URL * @return TwiML $this. */ public function setRecordingStatusCallback($recordingStatusCallback) { return $this->setAttribute('recordingStatusCallback', $recordingStatusCallback); } /** * Add RecordingStatusCallbackMethod attribute. * * @param httpMethod $recordingStatusCallbackMethod Recording status callback * URL method * @return TwiML $this. */ public function setRecordingStatusCallbackMethod($recordingStatusCallbackMethod) { return $this->setAttribute('recordingStatusCallbackMethod', $recordingStatusCallbackMethod); } /** * Add RecordingStatusCallbackEvent attribute. * * @param dial:Enum:RecordingEvent $recordingStatusCallbackEvent Recording * status * callback events * @return TwiML $this. */ public function setRecordingStatusCallbackEvent($recordingStatusCallbackEvent) { return $this->setAttribute('recordingStatusCallbackEvent', $recordingStatusCallbackEvent); } /** * Add AnswerOnBridge attribute. * * @param boolean $answerOnBridge Preserve the ringing behavior of the inbound * call until the Dialed call picks up * @return TwiML $this. */ public function setAnswerOnBridge($answerOnBridge) { return $this->setAttribute('answerOnBridge', $answerOnBridge); } /** * Add RingTone attribute. * * @param dial:Enum:RingTone $ringTone Ringtone allows you to override the * ringback tone that Twilio will play back * to the caller while executing the Dial * @return TwiML $this. */ public function setRingTone($ringTone) { return $this->setAttribute('ringTone', $ringTone); } }