pjsip uses a counter to delete objects when the ref counter is equals to 0.
This means that our unique_ptr on the invite will be invalid if resources are
already freed by pjproject. To avoid this, we need to increment and decrement
the counter when we respectively create and destroy our unique_ptr on the
invite session
Change-Id: Ida5c687004b91100f1c10f83e32c1a40264c775c
During the negotiation, if the TURN needed to be resetted or got a EBUSY
status, the is_pending boolean was stuck to is_pending=true and the ICE
session was immediately considered as failed.
Change-Id: I0d8caac3ec04fec0ad32d9569013025a9787f7ab
TlsSession must be the only one owning the transport. So, instead a reference,
TlsSession stores a unique_ptr and is now able to check if the transport
is still available
Gitlab: #190
Change-Id: I784eef7edd6d5447ba671dcbe453575a03e51ca8
Some VoIP services, such as VoIP.ms, support SIP/TLS and SRTP, but
give the wrong schema in the INVITE's Contact header; specifically
"sip" instead of "sips." The relevant ticket for pjsip is as
follows:
https://trac.pjsip.org/repos/ticket/1735
This patch adds a preference to allow a user to disable the checks,
which allows them to answer incoming calls in this situation. By
default, the checks are enabled, and it will silently drop calls
which are not RFC-compliant.
Reviewed-by: mingrui.zhang@savoirfairelinux.com
Change-Id: I401ef481ef29f7ae7bbc56025d2e8b461e850791
on iOS landscape mode corresponds to 90 or 270 degree. Current rescale
implementation will create output that is out of bounds for iOS frame.
Change-Id: I29c89402fc056714149f0ff2fe98e7b8bdf13565
In closeConnection the forEachDevice is not necessary because the
peer_id parameter only contains the device's hash. The
forEachDevice is unnecessary and print a warning each time an
outgoing file transfer occurs.
Change-Id: I4085b96af1fe864139b2c0e4389933f08605a486
This solves some bugs:
+ If we have two calls and the client is holding one of these till the other
is creating, the camera will start for the second call
+ If another process is using the camera, Jami will retry to open the camera
till the call ends
+ If one video input runs cleanup() and the other one createDecoder(), the
shmPath_ is set back correctly
Change-Id: Id6b02e453dffbe0b231884c2942786407af5eac3
TURN is destroyed via some timer events in pjsip, so we need to poll the queue
to be sure to close all sockets when destroying the ICE transport
Change-Id: I3e41014230925acb5a6b2ce08cd061608fcece11