import requests

def send_xml_request(phone_ip, xml_content):
    url = f"http://{phone_ip}/servlet?m=mod_data&p=mod_data_type_data_handler"
    
    headers = {
        "Content-Type": "text/xml",
    }

    response = requests.post(url, data=xml_content, headers=headers)

    if response.status_code == 200:
        print("XML request sent successfully.")
    else:
        print(f"Failed to send XML request. Status code: {response.status_code}")
        print(response.text)

if __name__ == "__main__":
    # Replace 'your_phone_ip' with the actual IP address of your Yealink SIP phone
    phone_ip = 'your_phone_ip'

    # XML content to reboot the phone
    xml_content = """
    <YealinkIPPhoneExecute>
        <ExecuteItem URI="Reboot" />
    </YealinkIPPhoneExecute>
    """

    send_xml_request(phone_ip, xml_content)