juha-h / baresip-studio Goto Github PK
View Code? Open in Web Editor NEWbaresip library based SIP client for Android
License: BSD 3-Clause "New" or "Revised" License
baresip library based SIP client for Android
License: BSD 3-Clause "New" or "Revised" License
I added ffmpeg myself ,open avcodec.so and avformat.so Modular, But call a video phone fail:
avcodec: h264 encoder not found (libx264)
2019-08-15 16:32:31.920 14744-14770/lilin.com E/System.out.lilin: 22>vidcodec: H264
vidcodec: H264
2019-08-15 16:32:31.920 14744-14770/lilin.com E/System.out.lilin: 22>vidcodec: H263
2019-08-15 16:32:31.920 14744-14770/lilin.com E/System.out.lilin: 22>vidcodec: MP4V-ES
2019-08-15 16:32:31.920 14744-14770/lilin.com E/System.out.lilin: 22>avcodec: using H.264 decoder 'h264' --
2019-08-15 16:32:31.920 14744-14771/lilin.com D/OpenGLRenderer: HWUI GL Pipeline
2019-08-15 16:32:31.921 14744-14770/lilin.com E/System.out.lilin: 22>vidsrc: avformat
Set video encoder: H264 packetization-mode=0 (500000 bit/s, 25.00 fps)
2019-08-15 16:17:07.189 13760-14199/lilin.com E/System.out.lilin: >avcodec: H264: could not init encoder
2019-08-15 16:17:07.189 13760-14199/lilin.com E/System.out.lilin: >video: encoder alloc: No such file or directory
call: video stream error: No such file or directory
and last call handup
if when Using baresip as a library How to use ffmpeg to receive and send video data ?What APIs are there
?
If you try and enter an account with an IP Address for the domain part for example:
Then you get the Notice:
Invalid SIP URI: sip:[email protected]
Looking at the code the Regex expects the IP Address to end with a slash '/'
^(([0-1]?[0-9]{1,2}\.)|(2[0-4][0-9]\.)|(25[0-5]\.)){3}(([0-1]?[0-9]{1,2})|(2[0-4][0-9])|(25[0-5]))/$
This seems like a mistake. Including a '/' at the end makes it accept the Account. But it shows with an orange dot beside it.
If I try and call 1012 then it auto adds the domain with the lash [email protected]/, and the call doesn't work, if I edit to remove the / then the call goes through.
I am also unable to receive calls
I'm a newer,
JNI method declaration is external fun call_send_digit(callp: String, digit: Char): Int
but in cpp its name is Java_com_tutpro_baresip_MainActivity_call_1send_1digit
why use '1'?
Thanks a lot!
Using version 11.2.0 from F-Droid on Android version 5.1
Steps to reproduce:
Expected result:
Actual result:
sip:[email protected]
failed.: Protocol not supported...while it should act like calls/chat and, if only a user is written, try to contact them on the same server.
While working with Android network address stuff, I noticed that baresip command line option -6 (Prefer IPv6)
is actually -6 (IPv6 Mandatory)
.
If I start baresip with -6 option in IPv4 environment, I get
$ baresip -6
baresip v0.6.4 Copyright (C) 2010 - 2019 Alfred E. Heggestad et al.
Local network address: IPv4=wlp1s0|192.168.43.98
...
[email protected]: Using sipnat: 'outbound'
ua: SIP register failed: Protocol not supported
account: failed to register ua 'sip:[email protected]' (Protocol not supported)
Without the option baresip starts fine.
Is this intentional or a bug? If intentional, would be it good idea to change the help text and rename net_prefer_ipv6 config variable?
Looking at the DNS queries being made, I'm only seeing a query for an A
record, no AAAA
lookup appears to be happening at all.
Is there really no support for IPv6 at all?
I am attempting to call from Android baresip-studio
to a PC on the same LAN running baresip
.
I put the SIP url, then press the green "call" icon, which turns to the red "hang up" icon. After about 1 second, the error messsage pops up at the bottom of the screen. Then the phone icon then turns back to the green. The baresip
on the other end doesn't show any incoming call.
Why is baresip not using the network provided DNS by default?
Overriding DNS to use a non-network-provided DNS should be an option a user chooses.
Imagine the scenario where a phone roams in and out of a network where a SIP server is located and as such that server has a different "presence" based on whether the client is connecting to it on the local network or over the Internet.
This wouldn't be as much of an issue except #24 means that in an IPv4-only world, addresses of things inside of local networks are typically different than they are from outside and DNS servers in a LAN often produce different addresses than DNS servers outside of the LAN. Only for IPv4 though. IPv6 results are, (I suspect, at least) much more consistent inside and outside of the LAN due to the lack of need for NAT due to address depletion.
I realise that the app already includes the G.722.1 audio codec, but could you please also include the G.722 audio codec? Many thanks, Jaime
F-Droid
AOSP9 <> Samsung 6.0.1
Steps:
Logcat: https://gist.github.com/licaon-kter/1ec6ad7660b972c02df5f1c571748d2b
...as by defaut most use 53, so if the user inputs :port
use it if not...it's probably 53.
This is the only app on f-droid that receives SIP calls correctly, thank you!
There is an icon in the top bar of the app that does not reveal any text when is long pressed and if tapped turns red but I don't know what is the function.
Can you clarify?
..not sure if I misunderstood what they do or my setup is broken.
Note that the info dialogue says Rate: 0/0 (bit/s)
whereas ZRTP and DTLS-SRTPF have non zero values, and are secure.
Android 6 & 9
5.3.1 F-Droid
AOSP 9
D Baresip Service: Received onStartCommand action Kill
D Baresip Service: 'stopped' from baresip or 'Kill' from MainActivity
D AndroidRuntime: Shutting down VM
E AndroidRuntime: FATAL EXCEPTION: main
E AndroidRuntime: Process: com.tutpro.baresip, PID: 16850
E AndroidRuntime: java.lang.IllegalArgumentException: Parameter specified as non-null is null: method kotlin.jvm.internal.Intrinsics.checkParameterIsNotNull, parameter view
E AndroidRuntime: at com.tutpro.baresip.MainActivity$onCreate$3.onItemSelected(Unknown Source:7)
E AndroidRuntime: at android.widget.AdapterView.fireOnSelected(AdapterView.java:944)
E AndroidRuntime: at android.widget.AdapterView.dispatchOnItemSelected(AdapterView.java:933)
E AndroidRuntime: at android.widget.AdapterView.selectionChanged(AdapterView.java:922)
E AndroidRuntime: at android.widget.AdapterView.checkSelectionChanged(AdapterView.java:1105)
E AndroidRuntime: at android.widget.AdapterView.handleDataChanged(AdapterView.java:1081)
E AndroidRuntime: at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:191)
E AndroidRuntime: at android.widget.Spinner.onMeasure(Spinner.java:602)
E AndroidRuntime: at android.support.v7.widget.AppCompatSpinner.onMeasure(AppCompatSpinner.java:420)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
E AndroidRuntime: at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1308)
E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
E AndroidRuntime: at android.widget.ScrollView.onMeasure(ScrollView.java:350)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715)
E AndroidRuntime: at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749)
E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
E AndroidRuntime: at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:141)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749)
E AndroidRuntime: at android.support.v7.widget.ActionBarOverlayLayout.onMeasure(ActionBarOverlayLayout.java:400)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749)
E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749)
E AndroidRuntime: at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1535)
E AndroidRuntime: at android.widget.LinearLayout.measureVertical(LinearLayout.java:825)
E AndroidRuntime: at android.widget.LinearLayout.onMeasure(LinearLayout.java:704)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:6749)
E AndroidRuntime: at android.widget.FrameLayout.onMeasure(FrameLayout.java:185)
E AndroidRuntime: at com.android.internal.policy.DecorView.onMeasure(DecorView.java:716)
E AndroidRuntime: at android.view.View.measure(View.java:23173)
E AndroidRuntime: at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2736)
E AndroidRuntime: at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1590)
E AndroidRuntime: at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1873)
E AndroidRuntime: at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1478)
E AndroidRuntime: at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:7362)
E AndroidRuntime: at android.view.Choreographer$CallbackRecord.run(Choreographer.java:949)
E AndroidRuntime: at android.view.Choreographer.doCallbacks(Choreographer.java:761)
E AndroidRuntime: at android.view.Choreographer.doFrame(Choreographer.java:696)
E AndroidRuntime: at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:935)
E AndroidRuntime: at android.os.Handler.handleCallback(Handler.java:873)
E AndroidRuntime: at android.os.Handler.dispatchMessage(Handler.java:99)
E AndroidRuntime: at android.os.Looper.loop(Looper.java:193)
E AndroidRuntime: at android.app.ActivityThread.main(ActivityThread.java:6718)
E AndroidRuntime: at java.lang.reflect.Method.invoke(Native Method)
E AndroidRuntime: at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
E AndroidRuntime: at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:858)
07-24 01:49:01.344 4091 4091 W Baresip : zrtp_hash yes
07-24 01:49:01.344 4091 4091 W Baresip : call_volume 0
07-24 01:49:01.344 4091 4091 W Baresip : dns_server fe80::1:53
07-24 01:49:01.344 4091 4091 W Baresip : dns_server 192.168.100.1:53
07-24 01:49:01.344 4091 4091 W Baresip : '
07-24 01:49:01.355 4091 4110 D Baresip Lib: baresip_init() failed (22)
07-24 01:49:01.355 4091 4111 D Baresip Lib: net: dns_server: could not decode `fe80::1:53' (Invalid argument)
07-24 01:49:01.355 4091 4110 D Baresip Lib: stopping UAs due to error: (22)
07-24 01:49:01.355 4091 4111 D Baresip Lib: ua: network init failed: Invalid argument
07-24 01:49:01.355 4091 4110 D Baresip Lib: closing ...
07-24 01:49:01.355 4091 4111 D Baresip Lib: ua: stop all (forced=1)
07-24 01:49:01.355 4091 4110 D Baresip Lib: unloading modules ...
07-24 01:49:01.355 4091 4110 D Baresip Lib: tell main that baresip has stopped
I m getting the following error when i try to build the project in Android studio.
ninja: error: 'baresip-studio-master/distribution/baresip/lib/arm64-v8a/libbaresip.a', needed by 'baresip-studio-master/app/build/intermediates/cmake/debug/obj/arm64-v8a/libbaresip.so', missing and no known rule to make it
Hi, Thanks for the wonderful app. I've got calls working wonderfully and very easy to setup. However when I connect a bluetooth headset to my phone (Samsung S7), the volume continues to go through the phone ear speaker and not routed to the bluetooth headset. Is this a known limitation?
Hi, I have a SIP account in the form of [email protected].
This fails with an error message that the SIP address is invalid. When I remove the numbers from the address I can add the account (ie [email protected]).
1und1.de is a valid domain name. Can you relax your checks accordingly, please :-)
Relevant from https://serverfault.com/questions/638260/is-it-valid-for-a-hostname-to-start-with-a-digit
RFC 1123 relaxes a constraint of RFC 952 which specifies a legacy of the Hostname Server Protocol (described in RFC 953) replaced by DNS. So a fully numeric hostname would be valid per these RFCs.
RFC 1123 itself discusses consequences when it comes to IP versus hostname parsing :
If a dotted-decimal number can be entered without such identifying delimiters, then a full syntactic check must be made, because a segment of a host domain name is now allowed to begin with a digit and could legally be entirely numeric (see Section 6.1.2.4). However, a valid host name can never have the dotted-decimal form #.#.#.#, since at least the highest-level component label will be alphabetic.
UPDATE 1: After looking at the code in Utils.kt (checkDomain function) and googling some more, these seemed helpful hints on how to leverage the Android system functions to check valid domains...
https://stackoverflow.com/questions/4905075/how-to-check-if-url-is-valid-in-android
Update 2: Last edit, promised. Leveraging the Android regex PATTERNS seems to be useful in not reinventing the wheel, and it has a domain name PATTERN too:
https://developer.android.com/reference/android/util/Patterns.html#fields
Hi there, thanks for quickly fixing my previous issue ๐.
Still having problems with my sip account [email protected].
My provider requires the Displayname to be the username (1234 in this case). Otherwise it fails to register with '403 Display user and account user are different' (freely translated from German).
The code checks that the display Name starts with a character. Is that really required? Could we also relax that constraint somewhat?
In the positive side, I was able to make calls with other providers just fine.
it need for normal using app..
..via crowdin.com or transifex.com or hosted.weblate.org
Right now it's a wall of text, those arrows don't really help.
Some thoughts:
But on Android 9 call info (codec and such) is shown
5.3.1 F-Droid
2019-08-12 14:52:24.229 16544-16566/lilin.com E/libc: Access denied finding property "net.dns1"
2019-08-12 14:52:24.230 16544-16566/lilin.com E/libc: Access denied finding property "net.dns2"
2019-08-12 14:52:24.230 16544-16566/lilin.com E/libc: Access denied finding property "net.dns3"
2019-08-12 14:52:24.230 16544-16566/lilin.com E/libc: Access denied finding property "net.dns4"
2019-08-12 14:52:24.233 16544-16567/lilin.com D/System.out.lilin: 22>linuxrt: Error in received packet
linuxrt: list: read from socket failed (Permission denied)
2019-08-12 14:52:24.235 16544-16567/lilin.com D/System.out.lilin: 22>linuxrt: Error in received packet
linuxrt: list: read from socket failed (Permission denied)
I've added network privileges. Why can't I read the information?
There's also a problem with dns๏ผ
How to solve it? Thanks.
(has green square) and Android 9 as callee (has red square).
But if I call from 9 to 6 it is secure (both devices have green squares) and I'm asked for words confirmation.
5.3.1 F-Droid
Tested ZRTP and DTLS-SRTPF.
6.0.1 F-Droid
Android 9 and 6.0.1
...please rename folder from: fdroid/repo/com.tutpro.baresip
to fastlane/metadata/android
Ref: https://github.com/fastlane/fastlane/blob/2.28.7/supply/README.md#changelogs-whats-new
user@domain:port is not accepted. How is this configured?
AOSP 9, F-Droid
Try to add an account for:
[email protected]
It used to work...
Not sure what I should write in that box, if only user, the popup says user@domain.
Logcat: W Baresip : Failed to allocate UA for [email protected]
Hi @juha-h,
Thanks for your great effort. I just installed baresip-studio on an android device, I want to change transmit protocol from UDP to TCP, but I didn't find anything in config and account menu.
So is it possible to change transmit protocol from UI? if it is not would you please guide me how to add this feature to baresip-studio?
Regards,
Ali
...so when I write "user@domain" the account should already have the user field be set to "user"
...instead of the current empty entry.
5.3.1 F-Droid
Hi Juha, I tried baresip-studio 5.3.0 (also 5.1.0) many times, and found that it did not pick-up the phone after I clicked "answer button", where the call comes from x86_64/Linux/baresip.
The logcat shows that baresip-studio was internally answering the call, but the ring tone did not stop until timeout. The log file is attached for your reference.
baresip_log.txt
....albeit touching entries will select them
Samsung 6.0.1 F-Droid
Hello, how are you?
I am getting this error when building your source code.
Build command failed.
Error while executing process E:\AndroidDevTools\Sdk\cmake\3.6.4111459\bin\cmake.exe with arguments {--build F:\AndroidProjects\baresip-studio-master\app\.externalNativeBuild\cmake\debug\arm64-v8a --target baresip}
ninja: error: 'F:/AndroidProjects/baresip-studio-master/distribution/baresip/lib/arm64-v8a/libbaresip.a', needed by 'F:/AndroidProjects/baresip-studio-master/app/build/intermediates/cmake/debug/obj/arm64-v8a/libbaresip.so', missing and no known rule to make it
Looking forward to your favorable reply.
Android Studio 3.4
Build #AI-183.5429.30.34.5452501, built on April 10, 2019
JRE: 1.8.0_152-release-1343-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0
Is that so? I think avformat module and avcodec are like this
vidsrc_register and vidcodec_register function
..is setup
I use the biresip on the tablet, the call comes from the dial pad of the intercom, from the side of the tablet I can not hear the echo, but the person who dial from the panel hears himself. How to suppress an echo using opensles or any other module? How to turn on echo cancellation in baresip?
I am getting this error after importing project
12:50 PM Gradle sync failed: org.jetbrains.kotlin.kapt.idea.KaptGradleModel PluginClassLoader[org.jetbrains.android, 10.3.3.2] com.intellij.ide.plugins.cl.PluginClassLoader@31d6e677org/jetbrains/kotlin/kapt/idea/KaptGradleModel
org.jetbrains.kotlin.kapt.idea.KaptGradleModel PluginClassLoader[org.jetbrains.android, 10.3.3.2] com.intellij.ide.plugins.cl.PluginClassLoader@31d6e677
Consult IDE log for more details (Help | Show Log) (10 s 536 ms)
Hello!
I have a asterisk SIP TLS with self-signed certificates working with baresip linux client with TLS.
I'd like to use baresip android app with TLS. However, to enable the
certificates, I do not see any baresip configuration on a few android 8.x
phones. I'm checking got baresip configuration on android phone at storage/emulated/0
Could anyone help me on how to get baresip TLS config going on android phone?
Hello, when an incoming call occurs I press yes button and the caller can hear me but the ringing call of incoming call never stop. I guess call_establish state is never been fired in side of incoming call device.
I have up-to-date baresip from f-droid. I can register to a normal internet SIP provider just fine. I am trying to add an account for a local asterisk instance, with a numeric username and the on-LAN IP address of the server, while my phone is on the LAN. I am seeing messages arrive at the server from 192.168.200.1, where that has absolutely nothing to do with my local LAN addresses (which are RFC1968 but from an entirely different chunk). I am totally boggled as to where this address is coming from.
Hello, i faced up with crash at baresip_stop. Can u pls give me changes in native distribution files of this commit a417bf3
I have my personal changes and i dont want to cancel them. Just recompile with your changes
In baresip
there exist an option for early answering received calls, is it possible to set answermode=early
in baresip-studio
?
I have an account with registration enabled but this fails.
logcat shows
08-21 19:14:41.160 20150 20150 D Baresip Lib: updating account of ua 511729347728
08-21 19:14:41.160 20150 20150 D Baresip Lib: registering UA '511729347728'
08-21 19:14:41.160 20150 20150 D Baresip Lib: ua event (REGISTERING)
08-21 19:14:41.161 20150 20150 D Baresip Lib: sending ua/call 511729347728/0 event registering
08-21 19:14:41.161 20150 20150 D Baresip Service: uaEvent got event registering/511729347728/0
08-21 19:14:41.161 20150 20174 D Baresip Lib: ua: SIP register failed: Invalid argument
08-21 19:14:41.161 20150 20150 D Baresip Lib: ua event (REGISTER_FAIL) Invalid argument
08-21 19:14:41.161 20150 20150 D Baresip Lib: sending ua/call 511729347728/0 event registering failed,Invalid argument
08-21 19:14:41.161 20150 20150 D Baresip Service: uaEvent got event registering failed,Invalid argument/511729347728/0
08-21 19:14:41.176 20150 20150 D Baresip : Omit service event 'registering failed,Invalid argument' for task -1
08-21 19:14:41.177 20150 20150 D Baresip : Handling service event 'registering failed' for 511729347728
I can't see a registration attempt on the server.
i see log like this :
audio: source started with sample format S16LE
audio tx pipeline: opensles ---> webrtc_aec ---> PCMU
audio rx pipeline: opensles <--- webrtc_aec <--- PCMU
Has this been echo cancelled or should it be written separately to do so?
If so, how to write it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.