I think I have a bad SSL certificate and I cant authenticate a User in wazo-react-native

Wazo Engine Installation setup: (followed This Tutorial )

  1. Create EC2 instance on AWS using Wazo Platform AMI with all default config on a t2.small.
  2. ssh in and run apt remove /etc/apache2
  3. mv www/index.html -> www/index.html.old
  4. run apt-get install -yq sudo git ansible
  5. git clone https://github.com/wazo-platform/wazo-ansible.git cd wazo-ansible ansible-galaxy install -r requirements-postgresql.yml
  6. add
[uc_ui:children]
uc_engine_host

add

engine_api_configure_wizard = true
engine_api_root_password = helloworld123
  1. run ansible-playbook -i inventories/uc-engine uc-engine.yml
  2. Change locale to US_utf8
  3. AWS console go to EC2 instance, network -> add inbound https port 443 anywhere
  4. get dns name from aws and go to https://dnsname.compute.amazonaws.com
  5. accept warning and go to dashboard
  6. add user email password


React Native

git clone https://github.com/wazo-platform/wazo-react-native-demo
cd wazo-react-native-demo
npm i
cd ios
pod install
cd ..
npm start
npm run ios


Login Page

Add username from server
Add password for made for user
Add server name https://amazondnsname.compute.amazonaws.com

Press Login

…Hangs (30seconds)

Screenshot 2020-06-23 at 15.25.52

Fails


Networks tabs show


Response
Screenshot 2020-06-23 at 15.26.10

Try to reach endpoint in browser

/api endpoint just hangs

You just need to add a let’s encrypt certificate in your nginx configuration.
Check the doc here https://wazo-platform.org/uc-doc/system/https_certificate

Thank you for the guidance, this helped me start the https server running.
The requests are now successful, but the authentication still fails

Login fails

Screenshot 2020-06-24 at 03.46.34

But requests are successful




I think this is because I selected WebRTC for user

But authentication is Successful for SIP

How does one change to peer-to-peer app calling (no phone numbers or SIP)
Just WebRTC VoIP over wifi?

Hello, I think you will probably looks for another open-source project like pion, Media soup or Janus. Wazo-platform is not built to do what you want if I understand well what you want to achieve. We are using sip as signaling for webrtc.

I may be doing this wrong.

Will SIP signalling for WebRTC allow me to make Users that can audio/video chat with each other? They do not need to see the number they just need to See a face, a name and a call button? And they can call someone else?

How does SIP work and perhaps that is what I needed this whole time?

I can try SIP out but it’s not currently allowing me to



I need
User A sign up -> user A find other user (B) -> user (A) press call -> other user (user B) phone starts to ring -> audio/video call between User A & User B

Hello, you only need to create a user with a webrtc line and an extension and yes you could use audio and video calls. The lines section is generated by the creation of your user, i’m not sure to understand why you change it directly. This section if for people want to have an advanced configuration if the user line. So create a user with a webrtc, line, use the username and pasword you created for this user, not the line.

I re-read what you did and it seems ok for me, i’ll try the app on master to be sure it works correctly.

Ok i checkout master, and rebuild the app on my mobile and it works on my server. So there is probably something wrong somewhere.
Can you remove and create a new user with a webrtc line and a user and recheck. Don’t use a SIP line, because the configuration of a SIP line by defaut use the UDP transport and not the WebRTC transport.

It works! I was selecting Voice Instead of Unified Communications
And I added ‘context’=‘internal’ (is this needed?)

Now I have this:

How do I generate an ‘extension’ what is this?

ohhhh yes i missed that, i haven’t realized we are using this configuration on demo.
About context, this is the routing plan to call users. So probably internal context is the routing plan for your users. You just need to add another user and call him by is extension.

i can’t get it to work at this stage, I press ‘call’, the button changes to ‘hangup’ then it immediately changes back to ‘call’ and does nothing

An extension is a number not an email. Try *10 to check if your connection is fine.

I think it works but I have to dial *10 on both phones and call on both, nothing happens but they both say ‘hold’.


I made an extension but it doesnt do anything


How to make user 1 call user 2 and see the call come through?
And how to do this without both being in same room?
User A is logged in but is idle (app open not doing anything) user B calls user A and user A sees incoming call?


What I have done so far:

  • Create Context: (name: ‘all’, type: internal)

  • Create User A (username: iphone11@email.com password: password, unified communications, context: all)

  • Create User B (username: iphone11Pro@email.com password: password, unified communications, context: all)

  • Create extension: (name: 1122334455 context: all)


In app

  • iphone11 -> sign in -> type extension 1122334455 -> press call -> (does nothing, changes back)
  • iphone11Pro -> sign in -> type extension 1122334455 -> press call -> (does nothing, changes back)

  • iphone11 -> sign in -> type extension *10 press call -> (does something, buttons change, nothing else)
  • iphone11Pro -> sign in -> type extension *10 press call -> (does nothing, buttons change, nothing else)

Ok, so you don’t need to create an extension, on the user on line tab, just add an extension to the user and call it from your user. You need to check if the internal context have number declare in users tab.
For *10, seems weird for me, you need to heart a voice who give you information about your endpoint.

For the sound i think you need to go to the RTP section and activate ICE and add a STUN server for exemple the google STUN will be good for your test. (stun.l.google.com:19302)

I dont have any lines, I just have 3 things:
Context: ‘All’
UserA: iphone11@email.com (webrtc)
UserB: iphone11Pro@email.com (webrtc)


BTW, thank you, this is a good tutorial for other people, will be nice to make an article about how to configure a working webrtc mobile application with wazo-platform and our demo.

1 Like

I found the lines tab but I cannot add a line, it updates but dissapears


Don’t touch lines. Ok i’m trying to explain the concept.

  • User: There is two kind of user in Wazo. The first kind is the user of the platform. This is the representation of a person and he have capacity to have, lines, voicemail, agent, user authentication, fk key … The second part of user is the authentication. It permit to be logged in the API. There is lot of API to permit people to develop applications. Check our product on wazo.io to see what we built on the top of the platform.
  • Line: This is the endpoint configuration for the SIP or SCCP terminaison.
  • Context : This is the routing plan, you can create your dialplan
  • Extension: This is the extension (number) inside the routing plan for making calls.

So in you case, you just need to create a user on the web interface and the interface are in charge to create, the authentication, line, and all association (like extension) for you.

Add in internal context not in all.