# pyVoIP **Repository Path**: goldey/pyVoIP ## Basic Information - **Project Name**: pyVoIP - **Description**: pyVoIP 是一个纯 Python 编写的 VoIP/SIP/RTP 库。目前支持 PCMA、PCMU 和 telephone-event。这个库不依赖于任何特定的声音库,这意味着你可以使用任何能够处理线性声音数据的库,例如 pyaudio 或 wave。需要注意的是,PCMU 和 PCMA 仅支持 8000Hz、1 通道、8 位音频。 - **Primary Language**: Python - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-03-07 - **Last Updated**: 2025-12-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # pyVoIP PyVoIP is a pure python VoIP/SIP/RTP library. Currently, it supports PCMA, PCMU, and telephone-event. This library does not depend on a sound library, i.e. you can use any sound library that can handle linear sound data i.e. pyaudio or even wave. Keep in mind PCMU/PCMA only supports 8000Hz, 1 channel, 8 bit audio. ## Getting Started Simply run `pip install pyVoIP`, or if installing from source: ```bash git clone https://github.com/tayler6000/pyVoIP.git cd pyVoIP pip install . ``` Don't forget to check out [the documentation](https://pyvoip.readthedocs.io/)! ### Basic Example This basic code will simple make a phone that will automatically answer then hang up. ```python from pyVoIP.VoIP import VoIPPhone, InvalidStateError def answer(call): # This will be your callback function for when you receive a phone call. try: call.answer() call.hangup() except InvalidStateError: pass if __name__ == "__main__": phone=VoIPPhone(, , , , callCallback=answer, myIP=, sipPort=, rtpPortLow=, rtpPortHigh=) phone.start() input('Press enter to disable the phone') phone.stop() ``` ### Sponsors - [Nabu Casa](https://www.nabucasa.com/) - [Home Assistant](https://www.home-assistant.io/)