Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Little more clear documentation #440

Open
AK47-23 opened this issue May 16, 2024 · 12 comments
Open

Little more clear documentation #440

AK47-23 opened this issue May 16, 2024 · 12 comments

Comments

@AK47-23
Copy link

AK47-23 commented May 16, 2024

Is your feature request related to a problem? Please describe.
I'm really new to webRTC, dockers, Asterisk and all. So when I saw the documentation for setting up Docker, registering with asterisk, I am not able to implement it. In a really tough spot.

Describe the solution you'd like
I know this shouldn't be added as a feature request, but still can you make the documentation a little more beginner friendly or provide some links from where we can get a perfect idea to setup SIP calling with Asterisk.

@mikaelwills
Copy link
Collaborator

mikaelwills commented May 17, 2024

What does are you stuck with?

Run the docker file which setups the asterisk server in the container with pre-made numbers/extensions.

Clone dart-sip-ua, run the example app in two simulators.
In the example app register page, register two of the numbers with the following

Weobsocket: wss://server_ip:8089/ws
SIP URI: 500@server_ip
Authorizathion User: 500
Password: 500
Display Name: Bob

Switch out the ip for your container IP. Then use 500 in one simulator and 400 in the other.

Then make a call

@AK47-23
Copy link
Author

AK47-23 commented May 20, 2024

I have a service provider that provided me a username, password and domain but no websocket URL. With this service provider I can make calls to public network. So my doubt is

  1. if I am going to implement this feature commercially, use sip_ua package what all changes should I make(in terms of asterisk and basic flow diagram idea please)?
  2. will call to public network work in web too?
    I have very less idea in network, asterisk and docker side. Hope you will clear my doubt. Thanks in advance!

@mikaelwills
Copy link
Collaborator

The websocket url is typically ws://:/ws usual websocket ports are 80 or 443 unless they have specified a different one. Or it could start with wss for web sockets over tls.
So you should be able to infer the websocket url from what you have.

Only you can really answer your first question after you just start digging into it and figuring things out. Since only you know your specific situation.

The package only deals with the sip flow between your client and the UAS. Whether or not i successful call can be made to a public network just depends on how you've setup your UAS(asterisk) with your provider, I imagine.

If you've got any specific code questions within the scope of the package i'd be happy to help!

@AK47-23 AK47-23 closed this as completed May 21, 2024
@AK47-23 AK47-23 reopened this May 23, 2024
@AK47-23
Copy link
Author

AK47-23 commented May 28, 2024

Are you guys planning to bring SIP without websocket anytime?

@mikaelwills
Copy link
Collaborator

I jsut recently implemented the ability to connect with TCP sockets, its in master now.

@AK47-23
Copy link
Author

AK47-23 commented May 28, 2024

Will you be implementing UDP sockets too (in mobile and desktop)?

@cloudwebrtc
Copy link
Member

I think UDP cannot support INVITE with SDP whose message size exceeds the MTU, and the offer/answer message generated by the webrtc stack can easily exceed 1500 bytes, so using TCP/TLS is the best choice.

@AK47-23
Copy link
Author

AK47-23 commented May 28, 2024

But TCP/TLS is not the recommended protocol right as it focuses more on the data? Wont it cause an issue in seamless connection as quality matters for TCP?

@TaraCybertouch
Copy link

hello guys, can you tell me how we can receive calls using this sip_ua: ^0.6.0 ?

@silverspluussh
Copy link

Hello guys, Ihave been working with dart sip over a month now and i still can't get the call connection established. keep getting remoteoffer description error and dtls auth error. any solution will help immensely.

@mikaelwills
Copy link
Collaborator

I think UDP cannot support INVITE with SDP whose message size exceeds the MTU, and the offer/answer message generated by the webrtc stack can easily exceed 1500 bytes, so using TCP/TLS is the best choice.

Im curious, ive got this current bug that happens once in every 20 calls or so that sounds similar to what you've said here even though im using TCP.
I've got an incoming messaging but the SDP is cut off so the sanity check doesnt pass.
Then straight away another message comes in and it starts with the continuation of the SDP so the parser throws an error cause it doesnt see any normal headers.

There doesnt seem to be any correlation between the body size and when this happens, first i was thinking it would be if the body was huge and the whole message exceeded the MTU, but TCP should handle all that for me?

Also trying to figure out if this is just a weird thing 3cx is doing. Curious what that sounds like to you @cloudwebrtc ?

@Vinayak0-0
Copy link

What does are you stuck with?

Run the docker file which setups the asterisk server in the container with pre-made numbers/extensions.

Clone dart-sip-ua, run the example app in two simulators. In the example app register page, register two of the numbers with the following

Weobsocket: wss://server_ip:8089/ws SIP URI: 500@server_ip Authorizathion User: 500 Password: 500 Display Name: Bob

Switch out the ip for your container IP. Then use 500 in one simulator and 400 in the other.

Then make a call

We have followed the steps in documentation.

But application getting crashed in LINUX, when we make a video call.

We don't know what are we missing. Can you show us a light on it?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants