/**
  * test set phone rights
  * 
  * @todo move creation and removal of phone, location, template, ... to seperate tests
  */
 public function testSetPhoneRights()
 {
     // create phone, location, template
     $snomLocationBackend = new Voipmanager_Backend_Snom_Location();
     $snomTemplateBackend = new Voipmanager_Backend_Snom_Template();
     $snomSoftwareBackend = new Voipmanager_Backend_Snom_Software();
     $snomSoftwareBackend->create($this->_objects['software']);
     $snomLocationBackend->create($this->_objects['location']);
     $snomTemplateBackend->create($this->_objects['template']);
     $this->_backend->create($this->_objects['phone']);
     // add phone rights
     $this->_backend->setPhoneRights($this->_objects['phone']);
     $rights = $this->_backend->getPhoneRights($this->_objects['phone']->getId());
     $testRight = $rights[0];
     $this->assertEquals(1, $testRight->read_right);
     $this->assertEquals(Zend_Registry::get('currentAccount')->getId(), $testRight->account_id);
     // delete rights
     $this->_objects['phone']->rights = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_PhoneRight');
     $this->_backend->setPhoneRights($this->_objects['phone']);
     $rights = $this->_backend->getPhoneRights($this->_objects['phone']->getId());
     $this->assertEquals(0, count($rights));
     // remove phone, location, template
     $this->_backend->delete($this->_objects['phone']->getId());
     $snomLocationBackend->delete($this->_objects['location']->getId());
     $snomTemplateBackend->delete($this->_objects['template']->getId());
     $snomSoftwareBackend->delete($this->_objects['software']->getId());
 }
 /**
  * Sets up the fixture.
  * 
  * This method is called before a test is executed.
  */
 protected function setUp()
 {
     Tinebase_TransactionManager::getInstance()->startTransaction(Tinebase_Core::getDb());
     // we need that because the voip db tables can have a different prefix
     Tinebase_Core::set('voipdbTablePrefix', SQL_TABLE_PREFIX);
     $phoneId = Tinebase_Record_Abstract::generateUID();
     $this->_objects['location'] = new Voipmanager_Model_Snom_Location(array('id' => Tinebase_Record_Abstract::generateUID(), 'name' => 'phpunit test location', 'registrar' => 'registrar'));
     $this->_objects['software'] = new Voipmanager_Model_Snom_Software(array('id' => Tinebase_Record_Abstract::generateUID()));
     $this->_objects['setting'] = new Voipmanager_Model_Snom_Setting(array('id' => Tinebase_Record_Abstract::generateUID(), 'name' => Tinebase_Record_Abstract::generateUID(), 'description' => Tinebase_Record_Abstract::generateUID(), 'language_w' => true));
     $this->_objects['phonesettings'] = new Voipmanager_Model_Snom_PhoneSettings(array('phone_id' => $phoneId, 'language' => 'Deutsch'));
     $this->_objects['template'] = new Voipmanager_Model_Snom_Template(array('id' => Tinebase_Record_Abstract::generateUID(), 'name' => 'phpunit test location', 'software_id' => $this->_objects['software']->getId(), 'setting_id' => $this->_objects['setting']->getId()));
     $this->_objects['phone'] = new Voipmanager_Model_Snom_Phone(array('id' => $phoneId, 'macaddress' => "1234567890cd", 'location_id' => $this->_objects['location']->getId(), 'template_id' => $this->_objects['template']->getId(), 'current_model' => 'snom320', 'redirect_event' => 'none'));
     $this->_objects['phoneOwner'] = array('account_id' => Zend_Registry::get('currentAccount')->getId(), 'account_type' => 'user');
     $rights = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_PhoneRight', array($this->_objects['phoneOwner']));
     $this->_objects['phone']->rights = $rights;
     // create phone, location, template
     $snomLocationBackend = new Voipmanager_Backend_Snom_Location();
     $snomTemplateBackend = new Voipmanager_Backend_Snom_Template();
     $snomSoftwareBackend = new Voipmanager_Backend_Snom_Software();
     $snomPhoneBackend = new Voipmanager_Backend_Snom_Phone();
     $snomSettingBackend = new Voipmanager_Backend_Snom_Setting();
     $snomPhoneSettingsBackend = new Voipmanager_Backend_Snom_PhoneSettings();
     $snomSoftwareBackend->create($this->_objects['software']);
     $snomLocationBackend->create($this->_objects['location']);
     $snomTemplateBackend->create($this->_objects['template']);
     $snomSettingBackend->create($this->_objects['setting']);
     $snomPhoneBackend->create($this->_objects['phone']);
     $snomPhoneSettingsBackend->create($this->_objects['phonesettings']);
 }
 /**
  * add one phone
  *
  * @param Voipmanager_Model_Snom_Phone $_phone
  * @return  Voipmanager_Model_Snom_Phone
  * @throws Voipmanager_Exception_Validation
  * 
  * @todo do not overwrite create() -> use inspectBefore/After functions
  */
 public function create(Tinebase_Record_Interface $_phone)
 {
     if ($_phone->has('macaddress')) {
         // check first if mac address is already used
         try {
             $this->getByMacAddress($_phone->macaddress);
             throw new Voipmanager_Exception_Validation('A phone with this mac address already exists.');
         } catch (Voipmanager_Exception_NotFound $venf) {
             // everything ok
         }
     }
     $phoneSettings = $_phone->settings;
     // force the right phone_id
     if (!$phoneSettings instanceof Voipmanager_Model_Snom_PhoneSettings) {
         throw new Voipmanager_Exception_Validation('Phone Settings are required.');
     }
     $phoneRights = isset($_phone->rights) ? $_phone->rights : NULL;
     // auto generate random http client username and password
     // limit length because of Snom phone limitations
     $_phone->http_client_user = Tinebase_Record_Abstract::generateUID(30);
     $_phone->http_client_pass = Tinebase_Record_Abstract::generateUID(20);
     $_phone->http_client_info_sent = 0;
     try {
         $db = $this->_backend->getAdapter();
         $transactionId = Tinebase_TransactionManager::getInstance()->startTransaction($db);
         $phone = $this->_backend->create($_phone);
         $phoneSettings->setId($phone->getId());
         // set all settings which are equal to the default settings to NULL
         $template = Voipmanager_Controller_Snom_Template::getInstance()->get($phone->template_id);
         $settingDefaults = Voipmanager_Controller_Snom_Setting::getInstance()->get($template->setting_id);
         foreach ($phoneSettings as $key => $value) {
             if ($key == 'phone_id') {
                 continue;
             }
             if ($phoneSettings->{$key} == $settingDefaults->{$key}) {
                 $phoneSettings->{$key} = NULL;
             }
         }
         $phoneSettings = Voipmanager_Controller_Snom_PhoneSettings::getInstance()->create($phoneSettings);
         $this->_createLines($phone, $_phone->lines);
         if ($phoneRights) {
             $phone->rights = $phoneRights;
             $this->_backend->setPhoneRights($_phone);
         }
         Tinebase_TransactionManager::getInstance()->commitTransaction($transactionId);
     } catch (Exception $e) {
         $this->_handleRecordCreateOrUpdateException($e);
     }
     return $this->get($phone->getId());
 }
 /**
  * Sets up the fixture.
  * This method is called before a test is executed.
  *
  * @access protected
  */
 protected function setUp()
 {
     parent::setUp();
     $this->_json = new Phone_Frontend_Json();
     $this->_adminUser = Tinebase_Core::getUser();
     $this->_objects['location'] = new Voipmanager_Model_Snom_Location(array('id' => Tinebase_Record_Abstract::generateUID(), 'name' => 'phpunit test location', 'registrar' => 'registrar'));
     $this->_objects['software'] = new Voipmanager_Model_Snom_Software(array('id' => Tinebase_Record_Abstract::generateUID()));
     $this->_objects['setting'] = new Voipmanager_Model_Snom_Setting(array('id' => Tinebase_Record_Abstract::generateUID(), 'name' => 'test setting', 'description' => 'test setting'));
     $this->_objects['template'] = new Voipmanager_Model_Snom_Template(array('id' => Tinebase_Record_Abstract::generateUID(), 'name' => 'phpunit test location', 'model' => 'snom320', 'software_id' => $this->_objects['software']->getId(), 'setting_id' => $this->_objects['setting']->getId()));
     $this->_objects['phone'] = new Voipmanager_Model_Snom_Phone(array('id' => Tinebase_Record_Abstract::generateUID(), 'macaddress' => "1234567890cd", 'description' => 'user phone', 'location_id' => $this->_objects['location']->getId(), 'template_id' => $this->_objects['template']->getId(), 'current_model' => 'snom320', 'redirect_event' => 'none'));
     $this->_objects['phone1'] = new Voipmanager_Model_Snom_Phone(array('id' => Tinebase_Record_Abstract::generateUID(), 'macaddress' => "a234567890cd", 'description' => 'second user phone', 'location_id' => $this->_objects['location']->getId(), 'template_id' => $this->_objects['template']->getId(), 'current_model' => 'snom320', 'redirect_event' => 'none'));
     $this->_objects['phone2'] = new Voipmanager_Model_Snom_Phone(array('id' => Tinebase_Record_Abstract::generateUID(), 'macaddress' => "1a34567890cd", 'description' => 'jsmith phone', 'location_id' => $this->_objects['location']->getId(), 'template_id' => $this->_objects['template']->getId(), 'current_model' => 'snom320', 'redirect_event' => 'none'));
     $this->_objects['phonesetting'] = new Voipmanager_Model_Snom_PhoneSettings(array('phone_id' => $this->_objects['phone']->getId(), 'web_language' => 'English'));
     $this->_objects['phonesetting1'] = new Voipmanager_Model_Snom_PhoneSettings(array('phone_id' => $this->_objects['phone1']->getId(), 'web_language' => 'English'));
     $this->_objects['phonesetting2'] = new Voipmanager_Model_Snom_PhoneSettings(array('phone_id' => $this->_objects['phone2']->getId(), 'web_language' => 'English'));
     $this->_objects['phoneOwner'] = array('account_id' => $this->_adminUser->getId(), 'account_type' => 'user');
     $this->_objects['phoneOwner2'] = array('account_id' => $this->_personas['jsmith']->getId(), 'account_type' => 'user');
     $rights = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_PhoneRight', array($this->_objects['phoneOwner']));
     $rights1 = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_PhoneRight', array($this->_objects['phoneOwner']));
     $rights2 = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_PhoneRight', array($this->_objects['phoneOwner2']));
     $this->_objects['phone']->rights = $rights;
     $this->_objects['phone1']->rights = $rights1;
     $this->_objects['phone2']->rights = $rights2;
     $this->_objects['context'] = new Voipmanager_Model_Asterisk_Context(array('id' => Tinebase_Record_Abstract::generateUID(), 'name' => 'test context', 'description' => 'test context'));
     $this->_objects['sippeer'] = new Voipmanager_Model_Asterisk_SipPeer(array('id' => Tinebase_Record_Abstract::generateUID(), 'context_id' => $this->_objects['context']->getId()));
     $this->_objects['sippeer1'] = new Voipmanager_Model_Asterisk_SipPeer(array('id' => Tinebase_Record_Abstract::generateUID(), 'context_id' => $this->_objects['context']->getId()));
     $this->_objects['sippeer2'] = new Voipmanager_Model_Asterisk_SipPeer(array('id' => Tinebase_Record_Abstract::generateUID(), 'context_id' => $this->_objects['context']->getId()));
     $this->_objects['line'] = new Voipmanager_Model_Snom_Line(array('id' => Tinebase_Record_Abstract::generateUID(), 'snomphone_id' => $this->_objects['phone']->getId(), 'asteriskline_id' => $this->_objects['sippeer']->getId(), 'linenumber' => 1, 'lineactive' => 1));
     $this->_objects['line1'] = new Voipmanager_Model_Snom_Line(array('id' => Tinebase_Record_Abstract::generateUID(), 'snomphone_id' => $this->_objects['phone1']->getId(), 'asteriskline_id' => $this->_objects['sippeer1']->getId(), 'linenumber' => 1, 'lineactive' => 1));
     $this->_objects['line2'] = new Voipmanager_Model_Snom_Line(array('id' => Tinebase_Record_Abstract::generateUID(), 'snomphone_id' => $this->_objects['phone2']->getId(), 'asteriskline_id' => $this->_objects['sippeer2']->getId(), 'linenumber' => 1, 'lineactive' => 1));
     // create phone, location, template, rights
     $phoneBackend = new Voipmanager_Backend_Snom_Phone(array('modelName' => 'Phone_Model_MyPhone'));
     $snomLocationBackend = new Voipmanager_Backend_Snom_Location();
     $snomSettingBackend = new Voipmanager_Backend_Snom_Setting();
     $snomPhoneSettingBackend = new Voipmanager_Backend_Snom_PhoneSettings();
     $snomTemplateBackend = new Voipmanager_Backend_Snom_Template();
     $snomSoftwareBackend = new Voipmanager_Backend_Snom_Software();
     $snomLineBackend = new Voipmanager_Backend_Snom_Line();
     $asteriskSipPeerBackend = new Voipmanager_Backend_Asterisk_SipPeer();
     $asteriskContextBackend = new Voipmanager_Backend_Asterisk_Context();
     $snomSoftwareBackend->create($this->_objects['software']);
     $snomLocationBackend->create($this->_objects['location']);
     $snomSettingBackend->create($this->_objects['setting']);
     $snomTemplateBackend->create($this->_objects['template']);
     $phoneBackend->create($this->_objects['phone']);
     $phoneBackend->create($this->_objects['phone1']);
     $phoneBackend->create($this->_objects['phone2']);
     $phoneBackend->setPhoneRights($this->_objects['phone']);
     $phoneBackend->setPhoneRights($this->_objects['phone1']);
     $phoneBackend->setPhoneRights($this->_objects['phone2']);
     $asteriskContextBackend->create($this->_objects['context']);
     $asteriskSipPeerBackend->create($this->_objects['sippeer']);
     $asteriskSipPeerBackend->create($this->_objects['sippeer1']);
     $asteriskSipPeerBackend->create($this->_objects['sippeer2']);
     $snomLineBackend->create($this->_objects['line']);
     $snomLineBackend->create($this->_objects['line1']);
     $snomLineBackend->create($this->_objects['line2']);
     $snomPhoneSettingBackend->create($this->_objects['phonesetting']);
     $snomPhoneSettingBackend->create($this->_objects['phonesetting1']);
     $snomPhoneSettingBackend->create($this->_objects['phonesetting2']);
     /******************** call history *************************/
     $phoneController = Phone_Controller::getInstance();
     $this->_objects['call1'] = new Phone_Model_Call(array('id' => 'phpunitcallhistoryid1', 'line_id' => $this->_objects['line']->getId(), 'phone_id' => $this->_objects['phone']->getId(), 'direction' => Phone_Model_Call::TYPE_INCOMING, 'source' => '26', 'destination' => '0406437435'));
     $this->_objects['call2'] = new Phone_Model_Call(array('id' => 'phpunitcallhistoryid2', 'line_id' => $this->_objects['line']->getId(), 'phone_id' => $this->_objects['phone']->getId(), 'direction' => Phone_Model_Call::TYPE_INCOMING, 'source' => '26', 'destination' => '050364354'));
     $this->_objects['call2a'] = new Phone_Model_Call(array('id' => 'phpunitcallhistoryid2a', 'line_id' => $this->_objects['line1']->getId(), 'phone_id' => $this->_objects['phone1']->getId(), 'direction' => Phone_Model_Call::TYPE_INCOMING, 'source' => '27', 'destination' => '050364354'));
     $this->_objects['call3'] = new Phone_Model_Call(array('id' => 'phpunitcallhistoryid3', 'line_id' => $this->_objects['line2']->getId(), 'phone_id' => $this->_objects['phone2']->getId(), 'direction' => Phone_Model_Call::TYPE_INCOMING, 'source' => '78', 'destination' => '050998877'));
     $this->_objects['call4'] = new Phone_Model_Call(array('id' => 'phpunitcallhistoryid4', 'line_id' => $this->_objects['line2']->getId(), 'phone_id' => $this->_objects['phone2']->getId(), 'direction' => Phone_Model_Call::TYPE_INCOMING, 'source' => '78', 'destination' => '05036998877'));
     $this->_objects['paging'] = array('start' => 0, 'limit' => 50, 'sort' => 'start', 'dir' => 'ASC');
     $this->_objects['filter1'] = array(array('field' => 'query', 'operator' => 'contains', 'value' => ''));
     $this->_objects['filter2'] = array(array('field' => 'query', 'operator' => 'contains', 'value' => '05036'), array('field' => 'phone_id', 'operator' => 'AND', 'value' => array(array('field' => ':id', 'operator' => 'equals', 'value' => $this->_objects['phone1']->getId()))));
     $this->_objects['filter2a'] = array(array('field' => 'query', 'operator' => 'contains', 'value' => '05036'), array('field' => 'phone_id', 'operator' => 'AND', 'value' => array(array('field' => ':id', 'operator' => 'equals', 'value' => $this->_objects['phone1']->getId()))));
     $this->_objects['filter2b'] = array(array('field' => 'destination', 'operator' => 'contains', 'value' => '05036'));
     $this->_objects['filter3'] = array(array('field' => 'phone_id', 'operator' => 'AND', 'value' => array(array('field' => ':id', 'operator' => 'equals', 'value' => $this->_objects['phone']->getId()))));
     $this->_objects['filter4'] = array(array('field' => 'phone_id', 'operator' => 'AND', 'value' => array(array('field' => ':id', 'operator' => 'equals', 'value' => $this->_objects['phone2']->getId()))));
     $this->_objects['filter5'] = array(array('field' => 'query', 'operator' => 'contains', 'value' => '998877'));
     // create calls
     $phoneController->callStarted($this->_objects['call1']);
     $phoneController->callStarted($this->_objects['call2']);
     $phoneController->callStarted($this->_objects['call2a']);
     $phoneController->callStarted($this->_objects['call3']);
     $phoneController->callStarted($this->_objects['call4']);
 }
Beispiel #5
0
 /**
  * Sets up the fixture.
  * This method is called before a test is executed.
  *
  * @access protected
  */
 protected function setUp()
 {
     $this->_json = new Phone_Frontend_Json();
     $this->_objects['location'] = new Voipmanager_Model_Snom_Location(array('id' => 20001, 'name' => 'phpunit test location', 'registrar' => 'registrar'));
     $this->_objects['software'] = new Voipmanager_Model_Snom_Software(array('id' => 20003));
     $this->_objects['setting'] = new Voipmanager_Model_Snom_Setting(array('id' => 20004, 'name' => 'test setting', 'description' => 'test setting'));
     $this->_objects['phonesetting'] = new Voipmanager_Model_Snom_PhoneSettings(array('phone_id' => 1001, 'web_language' => 'English'));
     $this->_objects['template'] = new Voipmanager_Model_Snom_Template(array('id' => 20002, 'name' => 'phpunit test location', 'model' => 'snom320', 'software_id' => $this->_objects['software']->getId(), 'setting_id' => $this->_objects['setting']->getId()));
     $this->_objects['phone'] = new Voipmanager_Model_Snom_Phone(array('id' => 1001, 'macaddress' => "1234567890cd", 'description' => 'user phone', 'location_id' => $this->_objects['location']->getId(), 'template_id' => $this->_objects['template']->getId(), 'current_model' => 'snom320', 'redirect_event' => 'none'));
     $this->_objects['phoneOwner'] = array('account_id' => Zend_Registry::get('currentAccount')->getId(), 'account_type' => 'user');
     $rights = new Tinebase_Record_RecordSet('Voipmanager_Model_Snom_PhoneRight', array($this->_objects['phoneOwner']));
     $this->_objects['phone']->rights = $rights;
     $this->_objects['line'] = new Voipmanager_Model_Snom_Line(array('id' => 1001, 'snomphone_id' => $this->_objects['phone']->getId(), 'asteriskline_id' => 1001, 'linenumber' => 1, 'lineactive' => 1));
     $this->_objects['context'] = new Voipmanager_Model_Asterisk_Context(array('id' => 1001, 'name' => 'test context', 'description' => 'test context'));
     $this->_objects['sippeer'] = new Voipmanager_Model_Asterisk_SipPeer(array('id' => 1001, 'context_id' => 1001));
     // create phone, location, template, rights
     $phoneBackend = new Voipmanager_Backend_Snom_Phone(array('modelName' => 'Phone_Model_MyPhone'));
     $snomLocationBackend = new Voipmanager_Backend_Snom_Location();
     $snomSettingBackend = new Voipmanager_Backend_Snom_Setting();
     $snomPhoneSettingBackend = new Voipmanager_Backend_Snom_PhoneSettings();
     $snomTemplateBackend = new Voipmanager_Backend_Snom_Template();
     $snomSoftwareBackend = new Voipmanager_Backend_Snom_Software();
     $snomLineBackend = new Voipmanager_Backend_Snom_Line();
     $asteriskSipPeerBackend = new Voipmanager_Backend_Asterisk_SipPeer();
     $asteriskContextBackend = new Voipmanager_Backend_Asterisk_Context();
     try {
         $snomSoftwareBackend->create($this->_objects['software']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $snomLocationBackend->create($this->_objects['location']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $snomSettingBackend->create($this->_objects['setting']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $snomTemplateBackend->create($this->_objects['template']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $phoneBackend->create($this->_objects['phone']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $phoneBackend->setPhoneRights($this->_objects['phone']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $asteriskContextBackend->create($this->_objects['context']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $asteriskSipPeerBackend->create($this->_objects['sippeer']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $snomLineBackend->create($this->_objects['line']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     try {
         $snomPhoneSettingBackend->create($this->_objects['phonesetting']);
     } catch (Zend_Db_Statement_Exception $e) {
         Tinebase_Core::getLogger()->debug(__METHOD__ . '::' . __LINE__ . ' ' . $e->getMessage());
     }
     /******************** call history *************************/
     $phoneController = Phone_Controller::getInstance();
     $this->_objects['call1'] = new Phone_Model_Call(array('id' => 'phpunitcallhistoryid1', 'line_id' => $this->_objects['line']->getId(), 'phone_id' => $this->_objects['phone']->getId(), 'direction' => Phone_Model_Call::TYPE_INCOMING, 'source' => '26', 'destination' => '0406437435'));
     $this->_objects['call2'] = new Phone_Model_Call(array('id' => 'phpunitcallhistoryid2', 'line_id' => $this->_objects['line']->getId(), 'phone_id' => $this->_objects['phone']->getId(), 'direction' => Phone_Model_Call::TYPE_INCOMING, 'source' => '26', 'destination' => '050364354'));
     $this->_objects['paging'] = array('start' => 0, 'limit' => 50, 'sort' => 'start', 'dir' => 'ASC');
     $this->_objects['filter1'] = array(array('field' => 'query', 'operator' => 'contains', 'value' => ''));
     $this->_objects['filter2'] = array(array('field' => 'query', 'operator' => 'contains', 'value' => '050'));
     $this->_objects['filter3'] = array(array('field' => 'phone_id', 'operator' => 'equals', 'value' => $this->_objects['phone']->getId()));
     // create calls
     try {
         $call = $phoneController->callStarted($this->_objects['call1']);
         $call = $phoneController->callStarted($this->_objects['call2']);
     } catch (Zend_Db_Statement_Exception $e) {
         // exists
         //echo $e->getMessage();
     }
 }