def getCallList(self, timeout=1):
        """Get the list of phone calls made

        Example of a phone call result:

        ::

            [{'Count': None, 'Name': None, 'CalledNumber': '030868709971', 'Numbertype': 'sip', 'Duration': '0:01',
            'Caller': '015155255399', 'Called': 'SIP: 030868729971', 'Date': '02.01.14 13:14',
            'Device': 'Anrufbeantworter','Path': None, 'Port': '40', 'Type': '1', 'Id': '15'}]

        Types:

        * 1 - answered
        * 2 - missed
        * 3 - outgoing

        :param float timeout: the timeout to wait for the action to be executed
        :return: the list of made phone calls
        :rtype: list[dict[str: str]]
        """
        namespace = Fritz.getServiceType("getCallList")
        uri = self.getControlURL(namespace)

        results = self.execute(uri, namespace, "GetCallList")

        # setup proxies
        proxies = {}
        if self.httpProxy:
            proxies = {"https": self.httpProxy}

        if self.httpsProxy:
            proxies = {"http": self.httpsProxy}

        # get the content
        request = requests.get(results["NewCallListURL"], proxies=proxies, timeout=float(timeout))

        if request.status_code != 200:
            errorStr = DeviceTR64._extractErrorString(request)
            raise ValueError('Could not get CPE definitions "' + results["NewCallListURL"] + '" : ' +
                             str(request.status_code) + ' - ' + request.reason + " -- " + errorStr)

        # parse xml
        try:
            root = ET.fromstring(request.text.encode('utf-8'))
        except Exception as e:
            raise ValueError("Could not parse call list '" + results["NewCallListURL"] + "': " + str(e))

        calls = []

        for child in root.getchildren():
            if child.tag.lower() == "call":

                callParameters = {}

                for callChild in child.getchildren():
                    callParameters[callChild.tag] = callChild.text

                calls.append(callParameters)

        return calls
def getCallList ( self , timeout = 1 ) : namespace = Fritz . getServiceType ( "getCallList" ) uri = self . getControlURL ( namespace ) results = self . execute ( uri , namespace , "GetCallList" ) proxies = { } if self . httpProxy : proxies = { "https" : self . httpProxy } if self . httpsProxy : proxies = { "http" : self . httpsProxy } request = requests . get ( results [ "NewCallListURL" ] , proxies = proxies , timeout = float ( timeout ) ) if request . status_code != 200 : errorStr = DeviceTR64 . _extractErrorString ( request ) raise ValueError ( 'Could not get CPE definitions "' + results [ "NewCallListURL" ] + '" : ' + str ( request . status_code ) + ' - ' + request . reason + " -- " + errorStr ) try : root = ET . fromstring ( request . text . encode ( 'utf-8' ) ) except Exception as e : raise ValueError ( "Could not parse call list '" + results [ "NewCallListURL" ] + "': " + str ( e ) ) calls = [ ] for child in root . getchildren ( ) : if child . tag . lower ( ) == "call" : callParameters = { } for callChild in child . getchildren ( ) : callParameters [ callChild . tag ] = callChild . text calls . append ( callParameters ) return calls
Get the list of phone calls made

        Example of a phone call result:

        ::

            [{'Count': None, 'Name': None, 'CalledNumber': '030868709971', 'Numbertype': 'sip', 'Duration': '0:01',
            'Caller': '015155255399', 'Called': 'SIP: 030868729971', 'Date': '02.01.14 13:14',
            'Device': 'Anrufbeantworter','Path': None, 'Port': '40', 'Type': '1', 'Id': '15'}]

        Types:

        * 1 - answered
        * 2 - missed
        * 3 - outgoing

        :param float timeout: the timeout to wait for the action to be executed
        :return: the list of made phone calls
        :rtype: list[dict[str: str]]