Description
Twinkle sip client, ported to a python module.
Tested environments
| Hardware | Rpi zero W |
| Operating systems | Linux |
| Python versions | Python 3.x |
| Distros | Raspbian 10 |
| Languages | English |
Instalation
sudo apt-get install twinkle
sudo pip3 install pytwinkle
Example
from pytwinkle import Twinkle
def callback(event, *args):
if event=="registration_succeeded":
uri, expires = args
print("registratiom succeeded, uri: %s, expires in %s seconds"%(uri, expires))
# The module keeps the session, you havent to register
mTP.message("name@domain", "Hello")
mTP.call("name@domain")
if event=="new_msg":
msg=args[0]
print("new_msg!: "+str(msg))
if event=="incoming_call":
call=args[0]
print("call: "+str(call))
if event=="cancelled_call":
line=args[0]
print("call cancelled, line: %s"%(line))
if event=="answered_call":
call=args[0]
print("answered: %s"%(str(call)))
if event=="ended_call":
line=args[0]
print("call ended, line: %s"%(line))
mTP = Twinkle(callback)
mTP.set_account("name","domain","password")
mTP.run()
- Callbacks
| Event | Description | *Returns * |
|---|---|---|
| "registration_succeeded" | When the registration suceed | Line number and seconds to expire (*) |
| "new_msg" | New message receives | msg={'from':uri, 'to':uri 'msg':msg} |
| "incoming_call" | Incoming call | call={'from':uri, 'to':uri} |
| "cancelled_call" | Cancelled call | Line number |
| "answered_call" | Answered call | call={'msg':msg, 'code':num, 'to':uri} |
| "ended_call" | Ended call | Line number |
(*) doesnt matter the seconds to expire, the program keep the session active
-
Functions
-
call Call someone
-
answer Answer an incoming call
-
answerbye Answer an incoming call or end a call
-
reject Reject an incoming call
-
bye End a call
-
hold Put a call on-hold
-
retrieve Retrieve a held call
-
redial Repeat last call
-
register Register your phone at a registrar
-
deregister De-register your phone at a registrar
-
message Send an instant message
-
Not supported at the moment
- redirect Redirect an incoming call
- transfer Transfer a standing call
- conference Join 2 calls in a 3-way conference
- mute Mute a line
- dtmf Send DTMF
- fetch_reg Fetch registrations from registrar
- options Get capabilities of another SIP endpoint
- line Toggle between phone lines
- dnd Do not disturb
- auto_answer Auto answer
- user Show users / set active user
- presence Publish your presence state
- quit Quit
Dependencies
- System dependencies
- python3
- twinkle
- Python dependencies
- multiprocessing
Mentions
@LubosD - https://github.com/LubosD/twinkle
Developer
Roberto Lama Rodríguez - roberlama@gmail.com
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file pytwinkle-0.1.3.tar.gz.
File metadata
- Download URL: pytwinkle-0.1.3.tar.gz
- Upload date:
- Size: 7.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/3.2.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
78e41e4f3a837bc94a1efa4586594fd8feca1e4b6745fcbc231ef8eb9a9aa4cd
|
|
| MD5 |
5880bc3afa12a3532f7c9de9107dde18
|
|
| BLAKE2b-256 |
ec7157344320bf98aa2f3f6d3fe75eb13bcb27ec513d1160082182728909178c
|