Page MenuHomePhabricator

TODO
No OneTemporary

- 202 is deprecated (see https://tools.ietf.org/html/rfc6665#page-43)
- After ICE negotiation completed we do not save state and later re-INVITEs
can fail, we must send re-INVITE or UPDATE with chosen candidate
+ Allow resume of failed file transfers (a=file-range SDP attribute)
+ combine account.uri and account.contact into account.uri.aor and
account.uri.contact. This will also remove the confusion between
account.contact and account.contact_manager
+ change settings so they store changes in a thread local container
which is made public (accessible for all threads) when save is called.
This will make changes be atomic inside a thread (everything from
attribute changes up to the save operation is contained in the thread
and will not mix with changes done in parallel from other threads).
+ there is a race condition that can prevent an account to start if it is
created while the start method of SIPApplication runs and it passed the
point where it called AccountManager.start. A quick workaround is to
never create an account before SIPApplicationDidStart is posted
+ SIPApplication.start attempts to be restartable in case of errors, but
there are cases where it may enter into a state where it will raise
exceptions perpetually, even if the condition that led to the exception
was fixed.
- allow deleting transport on SIPURI
- modify Invitation/Request/Subscription to reset transport on request_uri
- in application.py it subscribes to notifications but doesn't remove them
when it stops
- End a session while in accepting state (requires session serialization)
- Model file transfer after desktop sharing (use handlers on termination)
have internal/external handlers (notifications based or file bridges)
- Use an ordered dict for keeping accounts in the AccountManager ?!?
see http://code.activestate.com/recipes/576693/
- send notifications when local/remote party becomes focus
SIPSessionLocalPartyIsFocus, SIPSessionRemotePartyIsFocus
- have higher level notifications on conference events
To fix this exception:
sip:nwpsefvl@10.0.0.1:52067 52067
sip:nwpsefvl@10.0.0.1:52067 52067
sip:nwpsefvl@10.0.0.1;transport=tcp None
Traceback (most recent call last):
File "/usr/lib/python2.5/site-packages/twisted/internet/base.py", line 778, in runUntilCurrent
call.func(*call.args, **call.kw)
File "/usr/lib/pymodules/python2.5/eventlet/hubs/twistedr.py", line 158, in call_if_greenlet_alive
return func(*args1, **kwargs1)
File "/usr/lib/pymodules/python2.5/eventlet/proc.py", line 571, in _run
result = function(*args, **kwargs)
File "/home/dan/work/voip/python-sipsimple/sipsimple/account.py", line 683, in _handle_commands
handler(command)
File "/home/dan/work/voip/python-sipsimple/sipsimple/account.py", line 720, in _CH_register
txtRecord=bonjour.TXTRecord(items=txtdata))
File "/home/dan/work/voip/blink-qt/sipsimple/bonjour.py", line 1125, in DNSServiceRegister
TypeError: an integer is required
- Notification from SIPApplication when a transport is added/removed to the
engine.
- SIPApplication should provide a list of supported transports that need to
be used instead of the ones from settings because not everything enabled
in settings may actually be available at runtime on the engine
- Build contacts on above notification instead of building them on the fly

File Metadata

Mime Type
text/plain
Expires
Sat, Nov 23, 2:19 PM (22 h, 45 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3409267
Default Alt Text
TODO (3 KB)

Event Timeline