forked from AGProjects/python-sipsimple
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Changelog
1369 lines (1183 loc) · 64.9 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
python-sipsimple (3.4.1) unstable; urgency=medium
* Fixed cleanup of media stream when ending to avoid memory leak
* Fixed inconsistency in session state at the time of posting notification
* Fixed memory leak caused by out of order execution from race condition
-- Dan Pascu <[email protected]> Wed, 27 Feb 2019 10:14:48 +0200
python-sipsimple (3.4.0) unstable; urgency=medium
* Fixed attribute name in comparison
* Added dialog_id property on the Session class
* Added logic to handle early-only and RFC2543 style tags for Replaces
* Avoid unnecessary list copy
* Removed unnecessary boolean variable
* Do not reset the proposed_streams attribute when the session is rejected
* Reordered some operations for consistency
* Make sure the greenlet attribute is always removed when greenlet exits
* Removed code that duplicated cancel handling inside reject handler
* Simplified RTPStreamEncryption properties
* Ordered RTPStreamEncryption properties alphabetically
* Fixed potential access to uninitialized variable
* Removed unnecessary attribute from RTPStream
* Fixed memory leak for unused streams that bleeded out audio resources
* Fixed memory leak that did not release streams when canceling proposals
* Use setter syntax for defining properties
* PEP-8 compliance changes
* Use set literals instead of set instances
* Do not use mutable value for function default argument
* Improved error message
* Use local variable instead of instance attribute
* Fixed right hand value in assignment
* Use super when instantiating data types
* Always clean up proposed streams when cancelling proposal
* Added language_level for cython sources
-- Dan Pascu <[email protected]> Mon, 25 Feb 2019 13:51:22 +0200
python-sipsimple (3.3.0) unstable; urgency=medium
* Updated to support openssl-1.1 in pjsip and zrtp
* Updated to support openh264-1.6+ in pjmedia
* Removed duplicate declaration of pjmedia_dir enum in _core.pxd
-- Dan Pascu <[email protected]> Wed, 12 Dec 2018 07:02:37 +0200
python-sipsimple (3.2.1) unstable; urgency=medium
* Fixed building sipsimple when python-application is not installed
-- Dan Pascu <[email protected]> Fri, 05 Oct 2018 18:58:00 +0300
python-sipsimple (3.2.0) unstable; urgency=medium
* Shutdown already started subsystems if application is stopped early
* Fixed a bug that would hang the application if the engine fails to start
* Stop the engine thread on engine failure
* Reset encryption type when the RTP stream ends
* Use a named logger for sipsimple logging
* Use modern syntax for catching exception
* Removed underscore prefix from argument name
* Fixed typo in notification name
* Order imports alphabetically
* Import statement cleanup
* Removed obsolete build option
* [core] Removed unnecessary local variables
* [core] Removed test for failures that cannot happen
* [core] Fixed the transport being used within an incoming SUBSCRIBE dialog
* [core] Removed unnecessary semicolon at the end of statement
* [core] Added missing cdef statement
* [core] Minimize releasing/acquiring the GIL
* [core] Propagate exceptions
* [core] Undo setting incoming subscription transport as it conflicts
* [core] Removed unused code from setting transport
* Use the new logging API in python-application 2.5.0
* Fixed compiling with newer ffmpeg
* Removed duplicate dependency
* Update macOS installation instructions
* Added deb building instructions for Rasberry Pi
* Removed copyright notices from install files
* Updated copyright years
* Replaced deprecated debian package priority
* Switched from dbg package to dbgsym package
-- Dan Pascu <[email protected]> Fri, 05 Oct 2018 16:42:56 +0300
python-sipsimple (3.1.1) unstable; urgency=medium
* Fix processing audio / video SDPs with non numeric formats
* Document how to compile ffmpeg without SecureTransport
* Removed obsolete pycompat/pyversions files
* Updated debian uploaders
* Updated debian standards version
* Simplified condition
* PEP-8 compliance changes
* Improved object representation
* Simplified building the Route's URI
* Made output from Route.__str__ be consitent with SIPURI.__str__
* Fixed debian build dependency for libssl
* Updated copyright years
* Increased debian compatibility level to 9
* Removed unnecessary phony targets
* Updated debian copyright
* Updated debian package description
* Fixed python-sipsimple-dbg dependencies
* Simplified debian build and fixed missing module in the debug package
-- Dan Pascu <[email protected]> Fri, 05 May 2017 17:29:13 +0300
python-sipsimple (3.1.0) unstable; urgency=medium
* Update Opus to version 1.1.2
* pjsip: fix handling empty re-INVITE requests
* Updated dependency versions
* Improved MANIFEST.in
* Removed build time dependency on python-application
* Updated building documentation
* Added interface for scheduling functions to run in a thread
* Added fake xcap settings to the BonjourAccount
* Fix race conditions when processing ICE callbacks
* Ignore NAPTR and SRV timeouts when doing DNS lookups
* Fixed setting Referred-By header
-- Saul Ibarra <[email protected]> Tue, 18 Oct 2016 01:28:40 +0200
python-sipsimple (3.0.0) unstable; urgency=medium
* Added OTR encryption support in the chat stream
* Use openfile where we need control over the file creation
* Use defaultweakobjectmap defined in python-application
* Simplified verifying the transferred file's hash
* Added FileSelectorHash class to simplify code and improve readability
* Fixed recovering session state in certain failure conditions
* Do not wait for notifications if we couldn't notify transfer progress
* Capture unhandled exceptions and log errors from new_from_sdp
* Capture errors while parsing the file selector
* Handle the MedisStreamDidNotInitialize notification when adding streams
* Read code and reason from the notification when posting SIPSessionDidFail
* Don't rely on the failure reason being set for failed transfers
* Modified the SimplePayload and CPIMPayload to only work with bytes
* Handle parsing errors for is-composing documents
* Added package info module
* Fixed MediaStreamBase not posting MediaStreamDidNotInitialize sometimes
* Remove transfer_source from notifications
* Set transfer origin to the remote identity if Referred-By is missing
* Don't add a Referred-By header if it wasn't specified
* Handle exception when closing a file that is being read in another thread
* Prevent Session.transfer from being called while a transfer is in progress
* Changed default transfer reject code from 486 (Busy) to 603 (Decline)
* Protect SIPPublicationWillExpire from being called by an older publication
* Handle race condition where state is SameState for initial PUBLISH
* Remove bundled RFC/draft files
* zrtp: prefer standard AES to Twofish cipher
* Log Engine failures using application.log
* Set locks to NULL after destroying them
* pjsip: fix compilation warnings with recent versions of FFmpeg
* pjsip: removed unused files
* pjsip: update to revision 5249
* Always build pjsip in non-debug mode
* Avoid running timers if subscription dialog was destroyed
* Suppress some compilation warnings
* Avoid lockups on Engine shutdown
* Post notification when SIPApplication gets a fatal error
-- Saul Ibarra <[email protected]> Tue, 08 Mar 2016 12:46:06 +0100
python-sipsimple (2.6.0) unstable; urgency=medium
* pjsip: fix crash when TLS transport is reset while data is being sent
* Switched is-composing failure_report to no
* Refactor CPIM envelope usage
* Enable lrint functions on Opus
* Refactored sipsimple.streams package structure
* Changed MediaStreamRegistry from being a class to being an instance
* Added prefer_cpim boolean class attribute to ChatStream
* Fixed stripping data in the MSRP trace
* Only post chat delivery notifications when notify_progress is True
* Do not post MediaStreamDidNotInitialize twice in some cases
* Fixed file transfer failure reasons
* Prefer CPIM for chat messages for the time being
* Fixed Registrar/Publisher getting stuck under certain conditions
-- Saul Ibarra <[email protected]> Fri, 04 Dec 2015 12:15:35 +0100
python-sipsimple (2.5.1) unstable; urgency=medium
* Fixed opening files in binary mode when using os.open
* pjsip: enumerate supported resolutions in AVF video backend
* pjsip: fix opening camera with the right resolution on AVF backend
* Made stream fetch the local uri from the MSRP transport or connector
* Updated dependency to latest python-msrplib
* Return the ZRTP peer id as is and let the application format it as it
needs
-- Saul Ibarra <[email protected]> Fri, 28 Aug 2015 12:59:49 +0200
python-sipsimple (2.5.0) unstable; urgency=medium
* Added VP8 video codec support
* Added basic RTCP PLI support, used for requesting keyframes
* Fixed crash when handling bogus Opus packets
* Simplified registering audio codecs in the core
* Handle socket errors when fetching XCAP documents
* Fixed several compilation warnings
* Added python-application as a build dependency
* Fixed getting file offset on Windows
-- Saul Ibarra <[email protected]> Wed, 10 Jun 2015 13:57:35 +0200
python-sipsimple (2.4.0) unstable; urgency=medium
* Refactor file transfers and add resume support
* Interrupt stream.initialize if session is cancelled
* Add ISIPSimpleApplicationDataStorage interface
* Adapt to API changes in MSRPlib
* Simplified RTP streams initialization code
-- Saul Ibarra <[email protected]> Wed, 29 Apr 2015 12:05:30 +0200
python-sipsimple (2.3.1) unstable; urgency=medium
* Report sent but unconfirmed chat messages as not delivered
* Don't stop and start video ports when accessing the tee
* Compile PJSIP with -fno-omit-frame-pointer
* Updated Windows compilation instructions
* pjsip: fix compilation of ZRTP library on Windows
* pjsip: don't run AVFoundation functions in the main thread
* pjsip: make the video tee thread-safe
* pjsip: remove tons of unneeded code
-- Saul Ibarra <[email protected]> Wed, 25 Mar 2015 12:40:20 +0100
python-sipsimple (2.3.0) unstable; urgency=medium
* Added ZRTP support
* Add setting for opportunistic SRTP encryption
* Fix Opus SDP encoding
* Reject video streams without a profile-level-id attribute
* Renamed RTP stream related notifications
* Renamed audio stream recording related notifications
* Fix setting FFmpeg libraries path in some cases on OSX
* Fix posting ICE state change notifications
* Fix sending initial keyframes when ICE is used
* Run _send_keyframes on the Twisted thread
* Add ability to override the sender for chat messages
* pjsip: fix rendering on OSX
* pjsip: avoid crashes on OSX if video size changes
* Work around issue with the RTP transport lock being hold for too long
* Stop the VideoTransport in the device-io thread
* Removed caching of statistics on the RTP transports when stopping
* Fix draining the message queue in ChatStream
* Post SIPApplicationWillStart before starting the core
* Make SIPApplication start / stop consistent
* Fix race conditions when handling SIPApplication.state
* Avoid exceptions when un-pickling XCAP journal
* Add chatroom_capabilities property to ChatStream
-- Saul Ibarra <[email protected]> Tue, 17 Mar 2015 09:27:02 +0100
python-sipsimple (2.2.0) unstable; urgency=medium
* Make sure ICE status change notification is only sent while waiting for it
* Listen for notifications on the RTPTransport until the stream ends
* pjsip: skip all surround device configurations in ALSA backend
* Hold the stream lock just for checking / changing states
* Adapt to API change in MSRPLib
* Refactor message handling in ChatStream
* Check remote supported content types in ChatStream
* Update supported types in ChatStream
* Raised python-msrplib version dependency
-- Saul Ibarra <[email protected]> Mon, 26 Jan 2015 12:59:03 +0100
python-sipsimple (2.1.1) unstable; urgency=medium
* Add a base class for Audio and Video streams
* Add / support file-transfer-id SDP attribute to FileTransferStream
* Refactor video pausing capability
* Relax handling some errors in the core
* Compile PJSIP with -O2 optimization
-- Saul Ibarra <[email protected]> Mon, 05 Jan 2015 12:36:56 +0100
python-sipsimple (2.1.0) unstable; urgency=medium
* Use the Engine IP address also for media
* Extend Session.connect and Session.accept with an extra_headers parameter
* Do not reset the Echo Canceller unless the audio stream changes direction
* Also call stream.update on the remaining streams when removing streams
* Fix unnecessarily waiting for a timeout on Session.reject_proposal
-- Saul Ibarra <[email protected]> Fri, 05 Dec 2014 13:26:06 +0100
python-sipsimple (2.0.0) unstable; urgency=medium
* Add video support (H264 codec)
* Add support for handling initial INVITE requests without SDP
* Restart TCP and TLS transports when network conditions change
* Reuse disabled SDP streams
* Fix parsing makefile options
* Fix linking with OSX frameworks
* Unregister and unpublish when network conditions change, before restarting
* Leave symbols in even on release builds
* Fix not ending streams in some cases when Session.remove_streams fails
* Make stream initialization and ending consistent
* Report stream failure in MediaStreamDidEnd
* Add ExponentialTimer helper class to util
* Improved handling failures when processing remote proposals
* Reply with 488 if a remote SDP offer has deleted streams
* Fix race conditions when handling remote proposals
* Refresh SRTP crypto lines when updating local SDP
* Simplify code for obtaining the path to the OSX SDK
* Use 488 code when a proposal with streams fails
* Use timezone aware timestamps for Session start_time and stop_time
* Parse and generate bandwidth info attributes (b=) on the SDP
* Include address information with the MSRPTransportTrace notification
* Use SSLv23 method for TLSi (SSLv2 and SSLv3 are disabled)
* Updated bundled PJSIP to revision 4961
* Make sure a removed stream always has a connection line
* Remove bandwidth attributes when disabling a stream
* Reject incoming re-INVITE if we couldn't reply to it
* Fix setting SDP connection line when accepting a proposal
-- Saul Ibarra <[email protected]> Thu, 20 Nov 2014 18:30:35 +0100
python-sipsimple (1.4.2) unstable; urgency=medium
* Avoid recompiling the whole PJSIP every time the core is recompiled
* Fix encoding when expanding user home path
* Made the XMLDocument schema path configurable
-- Saul Ibarra <[email protected]> Mon, 28 Jul 2014 13:51:42 +0200
python-sipsimple (1.4.1) unstable; urgency=medium
* Close external VNC viewer socket when the stream has ended
* Don't try to set TLS options if there is no default account
* Increased the connect timeout for external screen sharing handlers
-- Saul Ibarra <[email protected]> Fri, 27 Jun 2014 09:43:19 +0200
python-sipsimple (1.4.0) unstable; urgency=medium
* Add support for adding/removing multiple streams at once
* Refactored SDP handling
* Send re-INVITE after ICE negotiation is done
* Refactored API for creating screen sharing streams and handlers
* Enable RTP keep-alive using empty RTP packets
* Disabled speex codec by default
* Fixed race condition when saving ICE state
* Made the VNC handler connection timeout a class attribute
* Allow the default VNC server and viewer handlers to be configurable
* Fix closing media transport to avoid leaking STUN sockets
* Store our Python object in the user_data field of pjmedia_transport
* Simplified srtp_active property
* Make ice_active property dynamic
* Make sure session state and proposed_streams are set to correct values
when processing proposals
* Use a shorter timeout for re-INVITEs that need to be answered without user
interaction
* Silence unused-function warning caused by cython
-- Saul Ibarra <[email protected]> Wed, 28 May 2014 11:51:06 +0200
python-sipsimple (1.3.0) unstable; urgency=medium
* Initialize core from main thread
* Add AudioStream.recorder property and remove obsolete ones
* Allow AudioStream.start_recording to be called early
* Ensure MediaStreamDidEnd is always posted for MSRP streams
* Fixed cancel_proposal when no streams were proposed
* Fixed setting proposed streams on hold when holding during a re-INVITE
* Fixed originator for SIPSessionProposalRejected
* Fixed pickling for some core objects
* Fixed compilation with latest Cython version
* Fixed processing AudioPortDidChangeSlots if bridge was stopped
* Avoid sending failure reports for MSRP keep-alive chunks
* Avoid resetting greenlet when session is about to end or cancel a proposal
* Removed unused tls_timeout configuration parameter
* pjsip: don't compile libmilenage
-- Saul Ibarra <[email protected]> Thu, 10 Apr 2014 14:55:40 +0200
python-sipsimple (1.2.1) unstable; urgency=medium
* Handle errors when sending hold/unhold requests
* Fix crash if sdp_done callback is processed too late
* Make sure code and reason are always set when state is disconnected
* Stop AudioStream bridge when deactivating stream
* pjsip: fixed compilation warning
* pjsip: fix build on Windows
-- Saul Ibarra <[email protected]> Wed, 05 Mar 2014 15:03:20 +0100
python-sipsimple (1.2.0) unstable; urgency=medium
* pjsip: updated bundled version to revision 4738
* pjsip: return base address as ICE transport address
* Use 101 as the telephone-event payload type
* Always open file in binary mode for file transfers
* Accept unicode in SIPURI objects
* Avoid exceptions in IncomingSubscription.end
* End session if an unrecoverable error happens in remove_stream
* Initialize transport to None in MSRPStreamBase.__init__
* Fixed compile warnings with Cython 0.20
* Post NetowrkConditionsDidChange if system IP address changes or the DNS
Manager changes the resolvers
* Fake ICE gathering states since we might get them too early
* Use 127.0.0.1 for bonjour when the default IP address is not available
-- Saul Ibarra <[email protected]> Wed, 19 Feb 2014 13:22:57 +0100
python-sipsimple (1.1.0) unstable; urgency=medium
* Updated opus codec to version 1.1
* Cleanup opus.c and fix compilation warnings
* Always put useinbandfec in SDP for opus codec
* Relax codec matching when doing SDP negotiation
* Use single global c line when creating SDP
* Added function to manually refresh sound devices
* Added trace_msrp setting
* Fixed SIP and PJSIP logging
* Fixed not posting state change notifications for different provisional
responses
* Changed notification API for renegotiating streams
* Renamed streams to proposed_streams on SIPSessionNewProposal
* Renamed streams to proposed_streams on SIPSessionHadProposalFailure
* Added audio.muted runtime setting to SIPSimpleSettings
* Post SIPApplicationWillEnd even if Engine failed
* Renamed MediaStreamRegistrar to MediaStreamType
* Properly handle mutex creation failures
* Added missing context attribute to MediaStreamDidFail notification
* Fixed memory leak by initializing the handler after the stream initialized
* Moved AudioConference to audio module
* Added helper functions to allocate and release memory pools
* Create null sound port only once and reuse it
* Simplified audio device fallback code
* Fixed crash when in-dialog request fails to be sent within a subscription
* Properly patch dnspython to make it nonblocking
* Added initial_delay to WavePlayer, replacing initial_play
* Always use timezone aware timestamps in MSRP streams
* Make sure MSRPlib always gets bytes, not unicode
* Always return unicode as the received chat message body
* Post SIPEngineGotException also if Engine fails to start
* Make send_composing_indication refresh argument optional
* Return default refresh value in ChatStreamGotComposingIndication if not
specified
* Don't set last active timestamp automatically
* Always pass copies of stream lists in Session notifications
* Don't compile WebRTC AEC if machine is not x86 or x86_64
* Raised Cython version dependency to 0.19.0
* Cleanup Cython imports and remove no longer needed workarounds
-- Saul Ibarra <[email protected]> Fri, 13 Dec 2013 13:45:31 +0100
python-sipsimple (1.0.0) unstable; urgency=low
* Updated core to PJSIP 2
* Added gain control and high pass filter to audio processing
* Added Opus codec support
* Added support for RFC5768 (ICE option tag)
* Added enabled setting for echo canceller and echo_canceller settings group
* Fixed echo cancelling when using 32kHz sample rate
* Always disable sound device when idle
* Removed unused ignore_missing_ack feature
* Removed engine shutdown workaround
* Removed TLS protocol setting
* Removed NAT detector from SIPApplication
* Don't cap codecs based on sample rate, let PJSIP resample
* Disabled narrowband speex
* Fixed starting media stream if ICE fails early
* Don't reset stream statistics, always report absolute values
* Don't add BonjourAccount to AccountManager if there is no bonjour support
* Set session state to terminated when ended before starting
* Prevent PJSIP from switching transports automagically
* Dropped support for Python 2.6
-- Saul Ibarra <[email protected]> Fri, 09 Aug 2013 11:17:47 +0200
python-sipsimple (0.35.0) unstable; urgency=low
* Added default URI implementation for contacts
* Added extension to PIDF to include the status type
* Added ItemCollection settings type
* Added RuntimeSetting to the configuration framework
* Publish instance id over Bonjour
* Refactored bonjour discovery notifications
* Return SIP Request headers in SIPMessageDidFail and SIPMessageDidSucceed
notification data
* Removed unnecessary end method on Message
* Fixed building XML schemas on all platforms
* Fixed parsing sip.instance from a REGISTER reply
* Fixed compilation with Cython 0.19
* Fixed posting PublicationDidSucceed after a failure
* Catch ValueError when parsing XML documents
-- Saul Ibarra <[email protected]> Wed, 26 Jun 2013 16:08:30 +0200
python-sipsimple (0.34.0) unstable; urgency=low
* Added Bonjour presence
* Added presence subscriber for itself to Account
* Added SDPNegotiator class
* Added ability to properly stringify SDPSession objects
* Added ability to parse a SDPSession object from a string
* Disable PJSIP assertions on recoverable errors
* Removed extra checks on SDP origin field
* Fixed deadlock when cross instantiating conditional singletons
* Avoid sending adding participant progress if the answer is final
* Avoid doing mDNS lookups with dnspython
* Define __nonzero__ for XCAP Document objects
* Made AddressbookManager.transaction a class method
-- Saul Ibarra <[email protected]> Tue, 19 Mar 2013 11:31:27 +0100
python-sipsimple (0.33.0) unstable; urgency=low
* Added notification when incoming subscription times out
* Added call_id attribute to Subscription and IncomingSubscription
* Allow incoming subscriptions to have expires 0
* Fixed session transfer after API changes
* Fixed setting initial timeout for incoming subscriptions
* Renamed desktop-sharing media type to screen-sharing
* Provide direct access to stream types on MediaStreamRegistry
* Post notifications about removed neighbours when stopping bonjour services
* Only set reason for NOTIFY if state is terminated
-- Saul Ibarra <[email protected]> Fri, 25 Jan 2013 16:22:05 +0100
python-sipsimple (0.32.0) unstable; urgency=low
* Fixed updating local SDP direction if answer is inactive
* Fixed test for supported audio codecs
* Adjusted pres-rules auid to org.openmobilealliance.pres-rules
* Removed icon alternative location since it was custom and is now unused
* Use digits only for contact usernames to improve interoperability
* Disable NAT detection
* Allow more types to be directly used as configuration data types
-- Saul Ibarra <[email protected]> Fri, 11 Jan 2013 12:03:11 +0100
python-sipsimple (0.31.1) unstable; urgency=low
* Terminate session if a stream fails and can't be removed from the session
* Removed extended-away state from PIDF extension
* Fixed setting local hold state after direction was inactive
* Prevent account's activate/deactivate methods to run at the same time
* Fixed race conditions when deleting an account
* Fixed some lintian warnings
-- Saul Ibarra <[email protected]> Wed, 28 Nov 2012 12:37:01 +0100
python-sipsimple (0.31.0) unstable; urgency=low
* Refactored streams and account relationship
* Added Supported header indication for GRUU on REGISTERs
* Allow extra headers to be passed to Registration
* Don't use GRUU for conference subscriptions and referrals
* Fixed XML datatypes for CIPID extensions
* Fixed sending extra headers when unsubscribing
* Fixed parsing RLS NOTIFY fayload if advertised CID is not present
* Fixed thread safety issues with ChatStream functions
* Moved identity attributes from MSRPStreamBase to ChatStream
-- Saul Ibarra <[email protected]> Fri, 26 Oct 2012 12:33:23 +0200
python-sipsimple (0.30.1) unstable; urgency=low
* Allow unicode filenames on WaveFile and RecordingWaveFile
* Fixed handling stream hold edge cases
* Fixed unitialized variable error when using Cython >= 0.15
-- Saul Ibarra <[email protected]> Mon, 17 Sep 2012 11:46:56 +0200
python-sipsimple (0.30.0) unstable; urgency=low
* Added PUBLISH for presence and dialog events
* Added SUBSCRIBE using RLS for presence and dialog events
* Added SUBSCRIBE for presence.winfo and dialog.winfo events
* Added handing for RLS NOTIFYs for presence and dialog events
* Added Offline Presence capability using XCAP pidf-manipulation
* Added Icon Storage using XCAP oma-pres-content
* Added Presence policy management using XCAP oma-common-policy
* Added Addressbook with Presence enabled Contacts
* Added MSRP Switch NICKNAME support
* Added GRUU support (RFC 5627)
* Added ability to configure SIP loop detection
* Refactored XML payloads framework and datatypes
* Refactored the XCAP manager and its API
* Refactored contact management into addressbook management
* Refactored interaction between the account and its handlers
* Fixed building sipfrag payloads
* Fixed crash when bogus G722 payload is received
* Fixed crash on SDP version overflow
* Fixed removing a stream if a negative response was received
* Fixed engine failure on bogus incoming REFER requests
* Fixed crash on RTCP decryption when using SRTP
* Fixed handling re-INVITEs with empty body
* Fixed subscribing to conference event from Bonjour account
* Reply with 200 OK to in-dialog OPTIONS requests
* Support hostnames in STUN servers list
* Skip processing bogus NOTIFY requests
* Honor Min-Expires header for REGISTER requests
* Adapted to eventlet package rename
* Raised dependency on msrplib and xcaplib due to API changes
-- Saul Ibarra <[email protected]> Thu, 06 Sep 2012 18:13:17 +0200
python-sipsimple (0.20.0) unstable; urgency=low
* Refactored XML document manipulation framework and payloads
* Added screen image extension to User from conference
* Accumulate chunks in ChatStream if they were segmented
* Do not assume content type is text in CPIM messages
* Validate participant URI when inviting to a conference
* Fixed race condition when stopping uninitialized MSRP stream
* Add reason attribute to notification data for SIPSessionTransferDidFail
when rejecting
* Fixed handling incoming call transfer failures
* Dropped support for Python 2.5
* Fixed issue with notifications being posted in the wrong order
* Updated build instructions
-- Saul Ibarra <[email protected]> Mon, 19 Dec 2011 14:34:44 +0100
python-sipsimple (0.19.0) unstable; urgency=low
* Added contact management
* Integrated XCAP manager into Account
* Added call transfer support
* Refactored PJSIP build process to avoid using svn
* Allow TLS MSRP transport also for Bonjour accounts
* Allow account to be restartable
* Added ability to query the system default device name
* Added the ability to get the old value of a setting
* Added the ability for an XMLApplication to unregister a namespace
* Added XCAPTransaction context manager for XCAPManager transactions
* Workaround lxml exception when unicode strings contain encoding
declaration
* Automatically singleton-ize SettingsObject subclasses with static IDs
* Avoid processing notification if audio bridges are not created yet
* Fixed passing headers dictionary to subscription callback
* Fixed getting Subscription-State header parameters
* Fixed handling bogus responses to SUBSCRIBE requests
* Call the notification handlers in the appropriate threads in
application.py
* Execute function immediately if already in the requested thread
* Fixed parsing Refer-To header
* Fixed __eq__ methods to properly compare with unknown type objects
* Added the missing __ne__ methods to all the classes defining __eq__
* Avoid setting sound devices if none was removed
* Handle error if remote ends session while we try to end it as well
* Fixed race condition when reading/using the invitation state in
Session.end
* Added the ability to specify fallback policies when adding an XCAP contact
* Fixed bug that changed empty strings into None when loading configuration
-- Saul Ibarra <[email protected]> Tue, 09 Aug 2011 13:06:57 +0200
python-sipsimple (0.18.2) unstable; urgency=low
* Added compatibility with Python 2.7
* Adapted code for Cython >= 0.13
* Don't depend on the debug interpreter, recommend it
* Removed unused SSL methods
* Removed use of pysupport, use dh_python2 instead
* Updated import paths for Null and Singleton for latest python-application
* Fixed race condition that resulted in multiple bonjour accounts
-- Saul Ibarra <[email protected]> Wed, 08 Jun 2011 09:11:50 +0200
python-sipsimple (0.18.1) unstable; urgency=low
* Added push file transfers (RFC5547)
* Implemented support for MSRP ACM (RFC6135)
* Added file transfers information to conference event package
* Fixed string representation of SIP URIs with special characters
* Implemented multi-level key based access to configuration objects
* Log exceptions that occur while saving the configuration when deleting
* Fixed SDP negotiation on bogus answer
* Remove SDP attributes when a stream is disabled
* Added format list validation for MSRP streams
* Added DuplicateIDError to replace ValueError for duplicate ID's
* Post notifications when settings objects are created/deleted
* Protect AccountManager.load_accounts against being called multiple times
* Removed internal AccountManager methods for adding/removing accounts
* Refactored API to provide storage backends to SIPApplication
* Start accounts in parallel
* Protect Session.end against being called multiple times
* Don't instantiate DNS resolver if no DNS query will be done
* Break circular reference between streams and Session
-- Saul Ibarra <[email protected]> Mon, 23 May 2011 16:34:20 +0200
python-sipsimple (0.18.0) unstable; urgency=low
* Added support for out-of-dialog REFER
* Added add/remove participants functionality to Session
* Added support for Subject header
* Fixed accepting incoming subscription without any initial content
* Fixed exception when NAT type detection is attempted without connectivity
* Fixed conference event subscription for Bonjour account
* Fixed exceptions when contact URI can't be built for the desired route
* Fixed subscription locking issues
* Set remote focus on incoming session, if applicable
* Fixed building header body with parameters without value
* Fixed building UAC and UAS dialogs when headers contain parameters
* Fixed setting contact header parameters for subscription
* Hide route header for outbound SUBSCRIBE requests
* Fixed crashes and increased resilience when connectivity is lost
* Fixed exception classes not to update their internal dict
* Relax check on SDP origin to increase interoperability
* Save XCAP journal after each commited operation to avoid loosing it
* Reset XCAP journal when account id changes
* Don't use contact URI when building conference Referral and Subscription
* Fixed bug where settings with dynamc IDs were not saved in some cases
-- Saul Ibarra <[email protected]> Fri, 18 Mar 2011 17:00:29 +0100
python-sipsimple (0.17.1) unstable; urgency=low
* Simplified FileSelector interface and interaction with the application
* Fixed Timestamp formatting with offset-aware datetime objects
* Return unicode for username and fullname from sipsimple.util.user_info
* Made display_name on accounts support unicode
* Fixed CPIMIdentity parsing to be unicode aware
* Changed SIP headers to handle unicode display names
* Made Path datatype inherit from unicode
* Simplified disconnect reason on failures
* Fixed exception when the session is ended on error conditions
* Fixed support for audio devices containing unicode symbols in their name
* Fixed detecting backslash in regex
* Added request_uri attribute to Invitation
-- Saul Ibarra <[email protected]> Wed, 16 Feb 2011 14:25:28 +0100
python-sipsimple (0.17.0) unstable; urgency=low
* Added blocking API to WavePlayer
* Added peer_address attribute to all request objects
* Do not enforce transport on request URI from route
* Fixed crash on IncomingRequest deallocation
* Simplified and made account contact management consistent
* Fixed conference payload to accept multiple Media elements
* Build PJSIP with debugging symbols, if specified
* Fixed parsing conference-info payload
* Removed handling of impossible invitation state transition
* Wait for things to stabilize for bonjour after returning from sleep
* Don't send SIPSessionDidFail in end if state is None
* Only handle records in the local. domain for bonjour
* Added ability to compute a FileSelector's file hash later
* Added AudioStreamDidTimeout notification
* Make request_uri the first argument for Request object
* Added remote_contact_header attribute to Invitation
* Added generation of -dbg debian package
* Fixed exception when an empty SEND is received in the MSRP stream
* Added request_uri attribute to Invitation and Subscription
* Added conference event support to Session
* Added recipients to ChatStreamGotComposingIndication notification
* Added remote_media attribute to MSRP streams
* Fixed private chat message detection
* Send 500 response if we fail to create incoming invitation
* Added lock to IncomingSubscription and released GIL where appropriate
* Terminate incoming subscription if NOTIFY got 408, 481 or 7xx
* Handle local timeout for outgoing NOTIFY requests in IncomingSubscription
* Interrupt commands instead of killing and restarting greenlets
* Only refresh subscription on events if we already have one
* Properly schedule events after system is stable when waking up from sleep
* Added missing notification handlers in XCAPManager for system events
* Properly perform NAT detection considering all system event triggers
* Allow Command to send specific results and also propagate exceptions
* Fixed UTC offset in Timestamp class
* If the received chat doesn't have a timestamp, build it offset-aware
* Added python-dateutil dependency
* Added build time dependency on cython-dbg
* Reverted wrong changes and made xcap manager test script work again
* Fixed race conditions in subscription handlers
* Don't have XCAPManager as a singleton to avoid retaining the account
forever
* Terminate session conference subscription on SIPSessionWillEnd
* Reduced subscription retry interval on fatal failures
* Fixed receiving empty SEND in file transfer stream
-- Saul Ibarra <[email protected]> Thu, 27 Jan 2011 13:56:55 +0100
python-sipsimple (0.16.5) unstable; urgency=low
* Fixed matching of media codecs on incoming calls
* Allow ip_address to be specified on engine start
* Fixed accepted types checking when using CPIM
* Fixed CPIM support detection
* Generate InvalidStreamError if no compatible payload types are found
in ChatStream
* Added nameservers used for lookup to the DNSLookupTrace notification
* Added InterruptCommand exception
* Added DNS resolver autodetection capabilities
* Made accessing to the transport parameter of a SIP URI easier
* Fixed TLS transport initialization
* Fixed XCAPManager shutdown
* Adapt XCAPManager test script to changes in the middleware
* Handle ConnectionLost error in XCAPManager
* Only use fallback candidate list as the last resort
* Avoid creating a external reference on the subscriptions lists
* Avoid moving external references to resource-lists toplevel
* Don't initialize XCAPManager if the server doesn't support certain auids
* Reset cached documents if XCAP root changes
* Added ThreadManager and moved thread related stuff from util to threading
* Reformatted some module docstrings
* Made configuration thread safe
* Automated finding python packages in setup.py
* Updated documentation
-- Saul Ibarra <[email protected]> Tue, 14 Dec 2010 16:57:07 +0100
python-sipsimple (0.16.4) unstable; urgency=low
* Fixed accessing Message-Account in MWI payload as it could be None
* Fixed building codec list when rtpmap line is missing
* Match codec names case insensitive
-- Saul Ibarra <[email protected]> Tue, 30 Nov 2010 10:32:03 +0100
python-sipsimple (0.16.3) unstable; urgency=low
* Changed some option defaults to False
* Do not impose limits on the subscription interval
* Added all parsed SIP headers to SIPEngineGotMessage notification
* Refactored bonjour code to be more efficient and handle all use cases
* Fixed crash when parsing Retry-After header
* Fixed MSRP chunk transaction status callback
* Set the response code and reason when outgoing session times out
* Don't answer SUBSCRIBE while deallocating
* Fixed crash when Content-Type header is missing for MESSAGE
* Do not create an audio stream if not compatible codecs are found
* Created ContentType object for representing content type in notifications
* Added extra attributes to SIPSubscriptionGotNotify notification
* Fixed race condition in Session that caused exceptions in some situations
-- Saul Ibarra <[email protected]> Fri, 26 Nov 2010 15:18:48 +0100
python-sipsimple (0.16.2) unstable; urgency=low
* Fixed memory and file descriptor leaks in BonjourServices
* Added notifications for Bonjour discovery failures
* Refactored Bonjour re-discovery after settings change
* Ignore TLS contacts if the Boujour account doesn't have a certificate
* Refresh MWI subscription if always_use_my_proxy setting changes
* Use always_use_my_proxy setting for MWI subscriptions
* Set minimum time for refreshing a subscription to 30 seconds
* Wait for 3 hours if MWI subscription fails instead of stopping it
* Fixed bonjour discovery when SIP transport list is changed
* Made accounts also listen for config changes from SIPSimpleSettings
* Do not return routes with unsupported transport from the DNS lookup
* Set MSRPRelayAddress setting default port to 2855
* Moved server_advertised_uri attribute to the mwi handler
* Added reregister method on Account
* Added reactivate methods for registrar and mwi
* Prefer the server advertised voicemail URI over the user setting
* Added account.sip.always_use_my_proxy setting
* Use None when the server advertised voicemail URI is an empty string
* Reset the server advertised voicemail URI when MWI is disabled
* Fixed handling of multiple settings changed at the same time
* Remove sip: from the server advertised voicemail uri when saving it
* Use capital case letters for acronyms
* Remove transport_list setting from BonjourAccount
* Reset bonjour neighbours on account deactivation
* Turn off ICE by default
* Limit PJSIP log level setting value between 0 and 5 to avoid crashes
* Fixed handling of Account id change in AccountManager
* Fixed handling of the id change of an Account and other SettingsObjects
* Made XCAPManager not transition to insync if journal is not empty
* Made audio device settings strings and removed unnecessary empty subclases
* Made SampleRate only accept valid rates
* Added SIPAccountWillActivate and SIPAccountWillDeactivate notifications
* Set XCAP User-Agent on application start
* Use xml.xsd from local folder instead of importing it remotely
* Trigger a XCAP document fetch on some subscription errors
* Make port test consistent with the rest of the code
* Simplified port range handling and fixed case for odd ports number
* Fixed port boundary checks
* Fixed incorrect __hash__ method
* Use UA string as User-Agent header for XCAP requests
* Avoind unnecessary conversion to unicode in PortRange conversion
* Added missing __ne__ method to some data types
* Fixed saving configuration after assigning DefaultValue to a setting
* Added PositiveInteger datatype
* Enhanced xcapdiff subscription process
* Removed use_xcap_diff setting
* Rollback: Changed visibility of command and data channels
* Rollback: Avoid using SubHandlingValue object inside XCAPManager
* Fixed account elements reload on settings change
* Synced Engine default options with settings
* Improved default values for various global settings
* Use the specific version of cython 0.12.1 for building the package
* Enhanced xcapdiff subscription termination
* Don't try to unregister if we weren't registered at all
* Changed visibility of command and data channels to private
* Fixed handling bogus TXT records for XCAP server lookups
* Fixed contact edit in XCAPManager when it needs to be removed and readded
* Avoid using SubHandlingValue object inside XCAPManager
* Fixed building contact name on XCAP manager
* Fixed use of identity conditions
* Fixed handling of SIPRegistrationDidFail and SIPSubscriptionDidFail exceptions
* Fixed handling of SDP c line inside the media stream
* Don't wait for pending operations to finish on shutdown
* Added cached_cocuments property to XCAPManager
* Handle BadStatusLine exception when fetching/updating documents
* Added equal and hash methods to Contact, Policy and condition classes
* Raise RuntimeError if no cache directory is provided for XCAP documents
* Don't keep old transformations if updated rule's action is not 'allow'
* Removed some unnecessary NotificationCenter instantiations
* Added properties for handling the server advertised voicemail URI
* Disable dialog event by default
* Increase default subscribe and publish intervals
* Added back thread attribute in SIPApplication
* Properly fix race condition when first NOTIFY for MWI arrives
* Avoid adding more than one MWI subscribe operation to the command channel
* Fixed waiting timeout for engine shutdown
* Changed name for reactor thread attribute and join thread on stop
* Moved Changelog back to toplevel
* Fixed boolean parameters in xcap_manager test script
* End MWI subscription before ending registration
-- Adrian Georgescu <[email protected]> Thu, 11 Nov 2010 13:31:38 +0100
python-sipsimple (0.16.1) unstable; urgency=low
* Fixed XML document parsing for unicode objects
* Changed default audio sample rate to 44100
* Stop using audio device when idle on Snow Leopard
* Added short description for a legal sip address format
* Send MWI subscription to voicemail_uri if specified
* Fixed broken dependency to python-aplication for non-Debian systems
-- Saul Ibarra <[email protected]> Mon, 06 Sep 2010 15:55:28 +0200
python-sipsimple (0.16.0) unstable; urgency=low
* Added XCAP contacts management based on OMA specifications
* Added parser/generator for OMA pres-rules extensions
* Added custom extension for extra attributes to entries in resource-lists
* Added xcap-caps payload support
* Added support for Message Waiting Indicator (MWI)
* Added SIPAccountMWIDidFail and SIPAccountMWIDidGetSummary notifications
* Added min_expires attribute to SipSubscriptionDidFail notification
* Added audio device change detection capability in Windows
* Improved logic for determining source IP address used in signalling
* Added lookup_xcap_server method to DNSLookup
* Added timestamp to sipsimple.util.Command objects
* Added generic All and Any objects to sipsimple.util
* Added support for deleting children by id in RuleSet and RLSServices
* Added extension to add a display-name to common policy rules
* Renamed Icon payload definition to PresenceContent
* Added support for finding the parent of an element to sipsimple.payloads
* Added support for XPath to sipsimple.payloads
* Fixed parsing of IdentityMany policy elements
* Added support for parsing file-like objects with XML payloads
* Improved XMLElement hashes to allow list elements to be hashable
* Delegated encoding/decoding of URI values to sipsimple.payloads
* Improved unicode support of XML payloads
* Removed IP address from rtcp SDP attribute
* Avoid refreshing subscription if no NOTIFY was received after
an un-SUBSCRIBE
-- Saul Ibarra <[email protected]> Fri, 03 Sep 2010 10:08:12 +0200
python-sipsimple (0.15.3) unstable; urgency=low
* Changed default codec list to have G722 as first choice
* Fixed handling of case when session is ended before INVITE is sent
* Fixed subversion command execution for Windows
* Set all devices to None before shutdown
* Made the reactor thread a daemon thread
* Bumped Standards-Version to 3.9.1
-- Saul Ibarra <[email protected]> Fri, 13 Aug 2010 11:06:45 +0200
python-sipsimple (0.15.2) unstable; urgency=low
* Added check to ensure uniqueness of account IDs
* Revert G722 adaptive bitshifting that broke re-INVITES
* Added python-lxml dependency and sorted dependencies order
* Fixed handling unicode characters in the bonjour neighbour display names
* Made use of the normalized property of Path configuration datatype
* Fixed handling the case when an internal pjsip invitation error occurs
* Fixed falling back to the None device when opening an AudioMixer
* Null is already an instance, no need to instantiate it anymore
* Added exponential timeout to DNS lookups for register
* Lower PortAudio revision to 1412 and removed pulse patches
* Bumped Standards-Version to 3.9.0
-- Saul Ibarra <[email protected]> Wed, 28 Jul 2010 10:39:05 +0200
python-sipsimple (0.15.1) unstable; urgency=low
* Added support for Microsoft Windows
* Added PJSIP patch for adaptive G722 bitshifting
* Improved the initialization of the TLS options when starting the Engine
* Added support for terminating sessions in SessionManager
* Don't enable bonjour account if bonjour support is not detected