Create a Wrapper from Android Library

Marcos Alves

Well-Known Member
Licensed User
Longtime User
Hello,

I need to create a B4A library from and Android Lib

This is the library code: https://github.com/DoubangoTelecom/imsdroid

The library is ready and working on android/VS - this only requires to be converted.

The job budget is US$ 150 and the expected delivery time is 4-5 days after the start - wait for proposals.

Thanks
 
Last edited:

DonManfred

Expert
Licensed User
Longtime User
I can start a new project and give you a starting code.
It seems like this is an HUGE library. And maybe a complicated one.
Based on what i saw on the direct link you posted it should not be complicated. But who knows...

You probably need to keep in mind that the library need to work async as you are not allowed to run networktraffic on the mainthread.
And for sip i´m pretty sure you need to have networktraffic.
 

Marcos Alves

Well-Known Member
Licensed User
Longtime User
I can start a new project and give you a starting code.
It seems like this is an HUGE library. And maybe a complicated one.
Based on what i saw on the direct link you posted it should not be complicated. But who knows...

You probably need to keep in mind that the library need to work async as you are not allowed to run networktraffic on the mainthread.
And for sip i´m pretty sure you need to have networktraffic.

Hello @DonManfred ,

I'm checking other SIP Stack library which could be more easy to integrate as the source code is open and available... I found this other one:
https://github.com/DoubangoTelecom/imsdroid

What do you think? Easier? Could you do it for me ? (paid of course ;))

Thanks!
 

Marcos Alves

Well-Known Member
Licensed User
Longtime User
how does it differ from the link in #1?
:) correct ! I noticed that I was using a paid library before and so I updated the first link also. The library that I was using was MizuDroid but it's almost the same of Doubango (instead of the fact that Duobango is opensource and free as required to do the wrapper).


sure but i only can offer to give you a start as mentioned above.

I do not have the time this month (and probably next month too).....
If you give me the startpoint I can do the job (again, paid suppport of course ;)) - tell me when you can.
 

Marcos Alves

Well-Known Member
Licensed User
Longtime User
:) correct ! I noticed that I was using a paid library before and so I updated the first link also. The library that I was using was MizuDroid but it's almost the same of Doubango (instead of the fact that Duobango is opensource and free as required to do the wrapper).



If you give me the startpoint I can do the job (again, paid suppport of course ;)) - tell me when you can.
Ok, I'm waiting for your availability (the next month). Call me here when ready (or, if you prefer, send me an email at [email protected])
 

DonManfred

Expert
Licensed User
Longtime User
Last edited:

DonManfred

Expert
Licensed User
Longtime User
I had a small deeper look at the libraries.
The commercial one seems to be a good thing. The documentation is clear, the implementation is nearly easy. I´ll start a wrap on this one.
You need to have a sip server for sure ;-)
Do you have a server to test?

The free one is more complicated in inplementation it seems.
 

DonManfred

Expert
Licensed User
Longtime User
Could you do it for me ?
I can not do a complete wrapper for you. Not for $150. Honestly the 150 are gone after reading all the documentation evaluating what is to do.

Writing a complete wrapper needs a lot of time writing (at least a complex one like this).
And i guess it needs much more time to test the functionality.
 

DonManfred

Expert
Licensed User
Longtime User
Do you have a server to test?
AND can provide credentials to me to test?

B4X:
Sub Service_Start (StartingIntent As Intent)
    sipc.Initialize("AJSip","voip.mizu-voip.com","ajvoiptest","ajvoip1234")
    sipc.ListenForEvents
    
    Log($"Start Sip: ${sipc.Start}"$)
    Log($"Register Sip: ${sipc.Register}"$)
    Service.StopAutomaticForeground 'Starter service can start in the foreground state in some edge cases.
End Sub
Sub AJSip_Notification(text As String)
    Log($"AJSip_Notification(${""})"$)
    Dim lines() As String
    lines = Regex.Split(CRLF, text)
    If lines.Length>0 Then
        For i=0 To lines.Length-1
            Dim notification As String = lines(i)
            If notification.Trim <> "" Then
                Dim values() As String
                values = Regex.Split("\,", notification)
                If values.Length>0 Then
                    For o=0 To values.Length-1
                        Dim val As String = values(o)
                        Log($"Value #${o}: ${val}"$)
                    Next
                End If
            End If           
        Next
    End If
End Sub

** Activity (main) Resume **
*** Service (starter) Create ***
** Service (starter) Start **
Start Sip: true
Register Sip: true
translate()
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
AJSip_Notification()
Value #0: START
Value #1: api
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Register...
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Registering...
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
AJSip_Notification()
Value #0: START
Value #1: sip
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registering
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e9201804682893774193k4058rmwp]
Value #8: 1
Value #9: 4
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
AJSip_Notification()
Value #0: EVENT
Value #1: EVENT
Value #2: Connecting...
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Initialized
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Register...
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Registering...
AJSip_Notification()
Value #0: EVENT
Value #1: EVENT
Value #2: Credit: 0 USD
Value #0: CREDIT
Value #1: Credit: 0 USD
AJSip_Notification()
Value #0: EVENT
Value #1: EVENT
Value #2: Authenticated successfully.
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registered
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e9201804682893774193k4058rmwp]
Value #8: 1
Value #9: 2
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Registered.
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registered
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e9201804682893774193k4058rmwp]
Value #8: 1
Value #9: 2
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registered
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e9201804682893774193k4058rmwp]
Value #8: 1
Value #9: 2
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registered
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e9201804682893774193k4058rmwp]
Value #8: 1
Value #9: 2
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
--------- beginning of system
AJSip_Notification()
Value #0: CREDIT
Value #1: Credit: 0 USD
AJSip_Notification()
Value #0: EVENT
Value #1: EVENT
Value #2: Credit: 0 USD
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registered
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e9201804682893774193k4058rmwp]
Value #8: 1
Value #9: 2
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
** Activity (main) Resume **
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
*** Service (starter) Create ***
** Service (starter) Start **
Start Sip: true
Register Sip: true
translate()
** Activity (main) Create, isFirst = true **
** Activity (main) Resume **
AJSip_Notification()
Value #0: START
Value #1: api
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Register...
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Registering...
AJSip_Notification()
Value #0: START
Value #1: sip
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registering
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e4434960159861179129k55492rmwp]
Value #8: 1
Value #9: 4
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
AJSip_Notification()
Value #0: EVENT
Value #1: EVENT
Value #2: Connecting...
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Initialized
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Register...
Value #0: STATUS
Value #1: -1
Value #2: Registering...
AJSip_Notification()
Value #0: CREDIT
Value #1: Credit: 0 USD
AJSip_Notification()
Value #0: EVENT
Value #1: EVENT
Value #2: Credit: 0 USD
AJSip_Notification()
Value #0: EVENT
Value #1: EVENT
Value #2: Authenticated successfully.
AJSip_Notification()
Value #0: STATUS
Value #1: -1
Value #2: Registered.
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registered
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e4434960159861179129k55492rmwp]
Value #8: 1
Value #9: 2
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
AJSip_Notification()
Value #0: STATUS
Value #1: 0
Value #2: Registered
Value #3: ajvoiptest
Value #4: ajvoiptest
Value #5: 1
Value #6: voip.mizu-voip.com
Value #7: [2e4434960159861179129k55492rmwp]
Value #8: 1
Value #9: 2
Value #10: 0
Value #11: 0
Value #12: 0
Value #13: 0
Value #14: 0
Value #15:
** Activity (main) Pause, UserClosed = false **
** Activity (main) Resume **
 

Marcos Alves

Well-Known Member
Licensed User
Longtime User
After four days of not getting any response i removed the already uploaded source. Thank you for being responsive for YOUR issue. :mad:
Sorry @DonManfred ... I really don't know what happened and why I didn't answered. I value a lot the commitment of a good communication with my colleagues developers and never left anyone without answer.
I still need this wrapper but it isn't priority for now anymore - I hope that we could restart this subject in two or three months (if you forgive me due this fault and still wants to, of course):(
Thanks again and sorry
 

Marcos Alves

Well-Known Member
Licensed User
Longtime User
My 30 days Trialtime is over now. I can´t help any further on this lib as i can not use it anymore. :(
Relax... When I restart this job I'll buy this or find other, send to you the path and make a proposal of value (if you are still interested of course). I hope that my silence didn't bore you ... I really forgot this thread, I don't remember now what happened.
Thanks for reply !
 
Top