Skip to content

Pure python VoIP/SIP/RTP library. Currently supports PCMA, PCMU, and telephone-event

License

Notifications You must be signed in to change notification settings

boxengasse/pyVoIP

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

pyVoIP

PyVoIP is a pure python VoIP/SIP/RTP library. Currently, it supports PCMA, PCMU, and telephone-event.

Please note this is still in development.

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 put pyVoIP into your site-packages folder.

Basic Example

This basic code will simple make a phone that will automatically answer then hang up.

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(<SIP Server IP>, <SIP Server Port>, <SIP Server Username>, <SIP Server Password>, callCallback=answer, myIP=<Your computer's local IP>, sipPort=<Port to use for SIP (int, default 5060)>, rtpPortLow=<low end of the RTP Port Range>, rtpPortHigh=<high end of the RTP Port Range>)
  phone.start()
  input('Press enter to disable the phone')
  phone.stop()

About

Pure python VoIP/SIP/RTP library. Currently supports PCMA, PCMU, and telephone-event

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%