Liblinphone

Primary tabs

Overview_first_text: 

Description

Liblinphone is a high-level library integrating all SIP calls and instant messaging features into a single easy-to-use API.

Doing an outgoing call is as easy as:

logo_c: 
logo_swift: 
logo_kotlin: 
code_swift: 
let callee : Address = try! Factory.Instance.createAddress(addr: "sip:janedoe@sip.example.org") let callParams : CallParams = try! core.createCallParams(call: nil) let call : Call? = core.inviteAddressWithParams(addr: callee, params: callParams) let callStateDelegate = CallDelegateStub(onStateChanged: { (thisCall: Call, state: Call.State, message : String) in if (state == Call.State.Connected) { NSLog("Call is connected")    } else { NSLog("Call is \(state)") } }) call?.addDelegate(delegate: callStateDelegate)
code_kotlin: 
val callee = Factory.instance().createAddress("sip:janedoe@sip.example.org") val params = core.createCallParams(null) params.mediaEncryption = MediaEncryption.SRTP params.enableVideo(true) val call = core.inviteAddressWithParams(callee, params) call?.addListener(object: CallListenerStub() { override fun onStateChanged(call: Call, state: Call.State, message: String) { when (state) { Call.State.Connected -> Log.i("Call is connected") else -> Log.i("Call is $state") } } }
code_c: 
Address callee = Factory.Instance.CreateAddress("sip:janedoe@sip.example.org"); CallParams callParams = Core.CreateCallParams(null); callParams.MediaEncryption = MediaEncryption.SRTP; callParams.VideoEnabled = true; Call call = Core.InviteAddressWithParams(callee, callParams); call.Listener.OnStateChanged += (Call delegateCall, CallState state, string message) => { switch (state) { case CallState.Connected: loggingService.Message("Call is connected"); break; default: loggingService.Message("Call is " + state.ToString()); break; }; };