Share My Creation VoIP SIP (Voice Calls) System : Source Code

Hello everyone :)

First of all and as always we start by thanking the great @Erel for making this possible for us :)

We made a post asking the lovely B4X Family about what to create next, a VPN or VoIP and most of the votes went to VoIP, so here we are :)

Today we would like to announce that in exactly 4 weeks (28/03/2021) (dd-mm-yyyy) we are releasing a new amazing project :
VoIP (Voice over Internet Protocol) system, which will consist on the following :
1- Text messages
2- Real Time voice calls
3- Group Voice Calls


Real time voice calls will work locally or publicly (through the internet) by using the SIP technology
The Audio Codec will be : PCMA (G.711)
Supported Audio Codec : h.264 codec

The Project will be built using :
1- B4J System Admin + System Server :
- Managing Incoming Calls
- Managing Outgoing Calls
- Managing Users information
- Able to disconnect any active call
- Calls and text messages log
- Able to record any active call and save the call as a MP3 file
- Able to get any text messages sent/received as save the log as a .txt file

2-B4A Client
- Each client registers will get a unique ID (just like a phone number)
- Speed Dial (able to add anyone to the list by typing the ID)
- Call block (able to block any incoming call from a specific ID)
- Able to send text messages
- Phone book (able to add anyone to the list by typing the ID)
- Calls History

3- B4J SIP Client has been released! :)

3-IOS Client - Coming Soon...

- Each client registers will get a unique ID (just like a phone number)
- Speed Dial (able to add anyone to the list by typing the ID)
- Call block (able to block any incoming call from a specific ID)
- Able to send text messages
- Phone book (able to add anyone to the list by typing the ID)
- Calls History



More information will be posted once we finish developing feature by feature

The source code will be for sale : 150$
Project Price : 35$ Only
fs-payment1 (1).png

*Once you send the payment you will receive an email from our partner FastSpring which contains the source codes.

We have added to list "Features to be added" :
-Avaya integration
As many of you know that Avaya is leading in the field of VoIP so we will add a feature to integrate the features of Avaya in the project which is amazing because with this feature you can transform the call from Avaya phone device to your own server which will give you the ability to :
1- Control and manage the call from the server side (record , log , etc...) (B4J Server App)
2- You can answer the phone call from anywhere in the world (B4A + B4i Client App)

*This is an extra feature to the app meaning the app will not need any Avaya equipment and it does not need Avaya SDK to work, it's only an extra feature.



We will keep you updated :)

Thank you guys for your support :)
 
Last edited:

sfsameer

Well-Known Member
Licensed User
@sfsameer Should the B4JVoIPClient be able to register to 3rd party voip server ? For me the client appears to lack username/password authentication.
Hello,

Yes it can register to a VoIP server other than the B4J VoIP Server.

The VoIP update will be released within this week and we will add the username and password in the B4J VoIP Client + B4A VoIP Client.

Also on the list of feature requests, do you have Blind Transfer and Attended Transfer ?

Great idea! we will work on it :)

Thank you,
Saif
 

sfsameer

Well-Known Member
Licensed User
Hello Everyone :)

Please use the same download link we sent you earlier to download the new update source codes.

The update contains : Password (The password is mandatory now)
You can now setup the B4J VoIP Server with a password and you can connect to it using B4A VoIP SIP New Library Project through a password.

Updated projects & Files :
1- VoIPSIPB4A-NewLibrary :
1-1 SQLite has a new column under the name "StrPassword"
1-2 Starter Service has a new variable "StrPassword"
1-3 Settings Activity has a new edittext under the name "txtPassword"
1-4 srvVoIPSIP Service : at the end of the function "SIP.initialize" you can now call "Starter.StrPassword" which should contain the Server Password by setting it through Settings activity

2- VoIPSIPB4J
2-1 MainMenu Module has a new TextField under the name "txtServerPassword"
2-2 SQLite has a new column under the name "StrPassword"
2-3 Modified the inline Java to accept and compare the sent password from the client VoIP SIP B4A with the B4J VoIP Server Password.
If the password is correct the registration will be completed and if the password was wrong then the client won't be able to register and in the B4J log you will see a message "Wrong Password"

3- B4XCodeVoIPB4A.jar + B4XCodeVoIPB4A.xml
We have almost recreated the whole library to enable multiple classes to send/receive password authentication.
So Make sure to replace the old library with the above .jar + .xml files

*The username already exists, which is under the name "My Number" in the settings activity (txtMyNumber) .

Thank you,
Saif
 

sfsameer

Well-Known Member
Licensed User
Hello Everyone :)

Please use the same download link we sent you earlier to download the new update source codes.

The update contains : Password (The password is mandatory now)
You can now setup the B4J VoIP Server with a password and you can connect to it using B4A VoIP SIP New Library Project through a password.

Updated projects & Files :
1- VoIPSIPB4A-NewLibrary :
1-1 SQLite has a new column under the name "StrPassword"
1-2 Starter Service has a new variable "StrPassword"
1-3 Settings Activity has a new edittext under the name "txtPassword"
1-4 srvVoIPSIP Service : at the end of the function "SIP.initialize" you can now call "Starter.StrPassword" which should contain the Server Password by setting it through Settings activity

2- VoIPSIPB4J
2-1 MainMenu Module has a new TextField under the name "txtServerPassword"
2-2 SQLite has a new column under the name "StrPassword"
2-3 Modified the inline Java to accept and compare the sent password from the client VoIP SIP B4A with the B4J VoIP Server Password.
If the password is correct the registration will be completed and if the password was wrong then the client won't be able to register and in the B4J log you will see a message "Wrong Password"

3- B4XCodeVoIPB4A.jar + B4XCodeVoIPB4A.xml
We have almost recreated the whole library to enable multiple classes to send/receive password authentication.
So Make sure to replace the old library with the above .jar + .xml files

*The username already exists, which is under the name "My Number" in the settings activity (txtMyNumber) .

Thank you,
Saif

Without forgetting to mention, because there is a Password now, so you can use iptel.org to connect to :

Example (We created Iptel.org Account and connected to it successfully) :

1627156124386.png


B4A Log :

1627156239864.png


Thank you,
Saif
 

amorosik

Well-Known Member
Licensed User
Hello Everyone :)

Please use the same download link we sent you earlier to download the new update source codes.

The update contains : Password (The password is mandatory now)
You can now setup the B4J VoIP Server with a password and you can connect to it using B4A VoIP SIP New Library Project through a password.

Updated projects & Files :
1- VoIPSIPB4A-NewLibrary :
1-1 SQLite has a new column under the name "StrPassword"
1-2 Starter Service has a new variable "StrPassword"
1-3 Settings Activity has a new edittext under the name "txtPassword"
1-4 srvVoIPSIP Service : at the end of the function "SIP.initialize" you can now call "Starter.StrPassword" which should contain the Server Password by setting it through Settings activity

2- VoIPSIPB4J
2-1 MainMenu Module has a new TextField under the name "txtServerPassword"
2-2 SQLite has a new column under the name "StrPassword"
2-3 Modified the inline Java to accept and compare the sent password from the client VoIP SIP B4A with the B4J VoIP Server Password.
If the password is correct the registration will be completed and if the password was wrong then the client won't be able to register and in the B4J log you will see a message "Wrong Password"

3- B4XCodeVoIPB4A.jar + B4XCodeVoIPB4A.xml
We have almost recreated the whole library to enable multiple classes to send/receive password authentication.
So Make sure to replace the old library with the above .jar + .xml files

*The username already exists, which is under the name "My Number" in the settings activity (txtMyNumber) .

Thank you,
Saif


Is the password to be set on the B4J server the same as that which must be used on the individual B4A clients?
So many different usernames (one for each client), but same password, is that correct?
 

Xfood

Well-Known Member
Licensed User
Is the password to be set on the B4J server the same as that which must be used on the individual B4A clients?
So many different usernames (one for each client), but same password, is that correct?
yes, at least I did that, and it worked on 3 terminals / phones to do the test
 

amorosik

Well-Known Member
Licensed User
On main zip file B4XCodeVoipSIP, is present a B4JVoipClient, date is 14/06/2021
The B4J Sip client is without field Password
B4J Sip client is updated for connect to a Sip server with username/password?
 

sfsameer

Well-Known Member
Licensed User
On main zip file B4XCodeVoipSIP, is present a B4JVoipClient, date is 14/06/2021
The B4J Sip client is without field Password
B4J Sip client is updated for connect to a Sip server with username/password?
The b4j client is not updated yet, we will release an update for the b4j client soon.
 

sfsameer

Well-Known Member
Licensed User
Hello Saif,
Just paid 38€, can you please check if it is ok ?
thank you
Hello Dear,

Thank you very much for your purchase, you should receive an email containing the source codes.

We have also sent you the source codes via PM.

Thank you,
Saif
 

sfsameer

Well-Known Member
Licensed User
Has there been any progress on the B4J client (using accounts with passwords)?
 

fbritop

Active Member
Licensed User
Feb 27th....
3-IOS Client - Coming Soon...
still no updates on this feature. One of the things I purchased this lib was for B4A/B4I interoperability
 

sfsameer

Well-Known Member
Licensed User
Feb 27th....
3-IOS Client - Coming Soon...
still no updates on this feature. One of the things I purchased this lib was for B4A/B4I interoperability
We will release it once it's ready and we can't disclose any date.
 

sfsameer

Well-Known Member
Licensed User
Hi!! Any news about data encryption for the next release?

Thanks!
We are currently working on the new update, and should be released in the upcoming days.
As for the Encryption, we are still figuring out how should we implement it.
 
Top