Ejemplo n.º 1
0
    def enter(self):
        """ start recording. Asterisk stopps and saves the recording automatically on hangup.         """
        self._watch_channel_hangup()

        event = None

        self.call.call_state.set_caller(self.call.phone_number)

        if self._is_blocked(self.call.phone_number):
            event = Event.CALLER_REFUSED
            self.call.client.channels.setChannelVar(channelId=self.call.channel_incoming.id, variable='CDR(blocked)',
                                                    value='1')
            self.call.channel_incoming.answer()
            self.call.set_telewall_call_state('refused')
            self.call.call_state.refuse()
        else:
            phonebook.lookup(phone_number=self.call.phone_number)
            # set caller again after name lookup
            self.call.call_state.set_caller(self.call.phone_number)

            event = Event.CALLER_ALLOWED
            self.call.client.channels.setChannelVar(channelId=self.call.channel_incoming.id, variable='CDR(blocked)',
                                                    value='0')
            self.call.set_telewall_call_state('allowed')
            self.call.call_state.permit()

        self.cleanup()
        self.call.state_machine.change_state(event)
Ejemplo n.º 2
0
def test_wrong_number_notfound_online():
    if run_online_tests:
        n = TelephoneNumber('033 999 99 99')
        result = phonebook.lookup(n)
        print(result)
        assert_is_not_none(result)
        assert_false(result.success)
Ejemplo n.º 3
0
def test_companynumber_correction_online():
    if run_online_tests:
        n = TelephoneNumber('032 321 64 63')
        result = phonebook.lookup(n)
        print(result)
        assert_is_not_none(result)
        assert_true(result.success)
        assert_equals('Berner Fachhochschule, Technik und Informatik', result.name)
        assert_true(result.is_corrected)
Ejemplo n.º 4
0
def test_existing_number_found_online():
    if run_online_tests:
        n = TelephoneNumber('032 321 61 11')
        result = phonebook.lookup(n)
        print(result)
        assert_is_not_none(result)
        assert_true(result.success)
        assert_equals('Berner Fachhochschule, Technik & Informatik', result.name)
        assert_false(result.is_corrected)
Ejemplo n.º 5
0
def test_wrong_number_notfound():
    def _query_mock(number):
        return read_xml('tel_search_ch-noresult.xml')

    _query_orginal = phonebook._query
    try:
        phonebook._query = _query_mock

        n = TelephoneNumber('031 000 11 22')
        result = phonebook.lookup(n)
        print(result)
        assert_is_not_none(result)
        assert_false(result.success)

    finally:
        phonebook._query = _query_orginal
Ejemplo n.º 6
0
def test_existing_number_found():
    def _query_mock(number):
        return read_xml('tel_search_ch-success.xml')

    _query_orginal = phonebook._query
    phonebook._query = _query_mock
    try:
        n = TelephoneNumber('032 321 61 11')
        result = phonebook.lookup(n)
        print(result)
        assert_is_not_none(result)
        assert_true(result.success)
        assert_equals('Berner Fachhochschule, Technik & Informatik', result.name)
        assert_false(result.is_corrected)
    finally:
        phonebook._query = _query_orginal
Ejemplo n.º 7
0
def test_companynumber_correction():
    mockresults = [read_xml('tel_search_ch-correction.xml'), read_xml('tel_search_ch-correction-result.xml')]
    mockresults.reverse()

    def _query_mock(number):
        return mockresults.pop()

    _query_orginal = phonebook._query
    phonebook._query = _query_mock
    try:
        n = TelephoneNumber('032 321 64 63')
        result = phonebook.lookup(n)
        print(result)
        assert_is_not_none(result)
        assert_true(result.success)
        assert_equals('Berner Fachhochschule, Technik und Informatik', result.name)
        assert_true(result.is_corrected)

    finally:
        phonebook._query = _query_orginal