How to dial a number programatically in BlackBerry 10 Webworks? - blackberry

I'm able to dial a number with this function:
blackberry.invoke.invoke({
uri: "tel:55555"
}, onSuccess, onError);
Unfortunately, my app is made to dial USSD codes and when using USSD number, I got this message in the simulator: "USSD dialing from URI is not allowed". Is there a function that allows dialing USSD code?

Unfortunately BlackBerry WebWorks does not support USSD calls, neither has API to solve this task.

Related

Twilio - Super Sim - Incoming SMS to Sim card

I am trying to achieve 2 way messaging with a super sim. I have been able to successfully configure sms received on my virtual Twilio number to be delivered to my sim by Http post (with authentication).
I would like to find a way to send an SMS from the sim and receive the SMS at a specific phone number. I've tried several flows without any success. I was able to get this working on Make.com and retrieve the data structure of the webhook but I still cant get this working on Twilio.
Thank you for the reply.
The sim is in an iot device and I am able to achieve 2 way communication utilizing webhooks with make.com. What I would like to achieve is to utilize a virtual number with Twilio to be the associated number for the iot device.
I have successfully received incoming "SMS" messages (commands) to the iot device, using a studio flow. When an sms is received via my virtual number number on twilio, the studio flow fires an https Post with the appropriate payload, populated from the received webhook from the virtual number., in turn receiving the "SMS" on the iot device.
Now I would like to create a flow or something similar on Twilio, that would generate a Twilio webhook that would listen for SMS commands (replies) "sent from" my appropriate Super Sim.
On Make.com I am able to generate the webhook and analyze the data structure, successfully receiving the payload of the webhook, from my Sim Fleet. I would like to utilize only Twilio for the webhooks, if possible. Do you have any more suggestions? Thank you in advance.
The Twilio Super Sim is not intended for use in a phone and does not support voice or regular SMS.
The Super Sim does support sending and receiving command (machine to machine, M2M) messages over SMS which can be used to send instructions to the device or receive data from a device. In this case the sim card can send messages to the number 000 and those messages will be received by Twilio and turned into a webhook request.
There is some documentation for how to send command messages from the Super Sim from a Raspberry Pi 4 or Raspberry Pi Pico and an in depth article on AT Commands that you can use to control the Sim.

Can I use Callkit SDK to setup a call to a SIP URI

I'm wondering if it is possible to dial out a SIP URI from iOS Callkit. I can not find anything about this and what I tried does not work.
Using any SIP Library, you can make the call but using SIP URI alone, you can not make any call using callkit.
From apple doc
"CallKit lets you integrate your calling services with other
call-related apps on the system. CallKit provides the calling
interface, and you handle the back-end communication with your VoIP
service. For incoming and outgoing calls, CallKit displays the same
interfaces as the Phone app, giving your app a more native look and
feel"
For all the sip functions, you have to call the respective callkit functions to communicate with the native phone UI.
For ex.: if the caller disconnects the call, you will call sip_hangup function, at the same time you have to call the disconnect function of the callkit as well.

Twilio Outgoing call from iOS

Situation
I use Twilio iOS SDK for my iOS Voip application.
I'm trying to call from my Voip application to any numbers I stacked in some points though.
I already confirmed that Http request is sent to my app request url which I set on the url both when I make outgoing call from my Voip application and when get incoming call to my Voip application.
In short, below is the flow which I think it true when I call from my Voip application
type the number and call (iOS Voip Application ) -> the request url is called and returns TwiML to call number I typed(my server side) -> call to the number(Twilio Service) -> get call(phone)
Question
What is the best practice to call from Voip to any numbers?
can I set different request url for incoming and outgoing call separately in one application on the Twilio console, or we have a way to judge if it's incoming or outgoing call by parameter?
What kind of TwiML I should return when I want to make an outgoing call from my Voip Application to the phone?
My server side script returns <Response><Dial><Number>090xxxxxxxxx</Number></Dial></Response> when the request url which I set was called to call from my Voip application, but it failed unfortunately and recorded not as outgoing call but as incoming call on Twilio call logs. I know I should return <Response><Dial><Client>name</Client></Dial></Response> when it comes to get an incoming call I think it's not appropriate for outgoing one though.
Kind Regards.
Edit
Below is the request I got for incoming call from any phone numbers to my Twilio number and the TwiML I return to call my Twilio number in Voip application. It's working well.
[request]
<QueryDict: {u'FromZip': [u''], u'From': [u'+8190xxxxxxxx'], u'FromCity': [u''], u'ApiVersion': [u'2010-04-01'], u'ApplicationSid': [u'AP192f34d8a08f17592163af2c6cxxxxxx'], u'To': [u'+8150xxxxxxxx'], u'ForwardedFrom': [u'050xxxxxxxx'], u'CallStatus': [u'ringing'], u'CalledState': [u''], u'FromState': [u''], u'Direction': [u'inbound'], u'ToCity': [u''], u'ToZip': [u''], u'CallerCity': [u''], u'FromCountry': [u'JP'], u'CalledCity': [u''], u'CalledCountry': [u'JP'], u'Caller': [u'+8190xxxxxxxx'], u'CallerZip': [u''], u'AccountSid': [u'AC41ebdf749095141bfdb182fbd8fxxxxx'], u'CalledVia': [u'050xxxxxxxx'], u'Called': [u'+8150xxxxxxxx'], u'CallerCountry': [u'JP'], u'CalledZip': [u''], u'CallSid': [u'CA7afa3aae965d9207b7e8b065e9dxxxxx'], u'CallerState': [u''], u'ToCountry': [u'JP'], u'ToState': [u'']}>
[TwiML]
<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Client>name</Client></Dial></Response>
While the incoming call does work well, below is the debugged outgoing call request from my Voip application to any phone numbers via my server and the TwiML I returned. It has failed to call and I confirmed the Twilio call log shows no 'To' number while 'From' number is my client name which I used for capability.allow_client_incoming(my client name).
[request]
[TwiML]
<?xml version="1.0" encoding="UTF-8"?><Response><Dial><Number>090xxxxxxxx</Number></Dial></Response>
Twilio developer evangelist here.
If I were you, I would go through the Twilio Client quick start for iOS which will show you various ways you can build this.
To answer your questions.
You can't set different request URLs for inbound and outbound using the same number with Twilio Client, but you can tell whether it is inbound or outbound by checking the direction parameter.
You should use <Dial> and <Number> when going outbound VOIP to numbers. I don't know why that would fail. Could you possibly share more information on the error?

Want a USSD Server Simulator

I need to simulate SMPP messages from USSD Gateway and USSD Application Server
I have a USSD Gateway application using the JSMPP Library and need a gateway to receive the USSDs sent from this library
Is there any open source USSD Server or even an application that I can rely on to complete the ussd cycle
Exactly what I need is sort of application that can listed to a port on my localhost to respond to incoming ussd messages
Try activeXperts free smpp simulator. It has limited functionality, but it works.
Or you can try building one using cloudhopper-smpp which has SmppServer & Simulator codes.

Programmatically Dial a Phone number and pass DTMF using the iPhone SDK

How do you programmatically do the following from the iPhone SDK:
Programmatically Dial a Phone Number through the iPhone SDK
Bypass the dial / cancel prompt that the iPhone brings up
Send additional DTMF after the number is dialed just like how you would program pauses into a regular phone.
I know you can make a tel:// call but the issue is that it brings up the dial / cancel prompt and after that it prevents any future DTMF from being sent.
The iPhone SDK does NOT give you direct access to dial numbers (imagine if a 'bad' program got on your phone and dialed a pay per minute number on mute so you didn't notice).
However, if you use the tel link, then you should be able to send it "," characters which inserts pauses.
So to dial 555-1212, then wait 4 seconds, then do 12345# on the touch tone you would use tel:5551212,,12345#
Check out
https://developer.apple.com/library/archive/featuredarticles/iPhoneURLScheme_Reference/PhoneLinks/PhoneLinks.html
I dont know why everyone says you cant... you CAN!
NSString *phoneNumber = #"15555551212";
NSString *dtmfAfterPickup = #"1234";
NSString *telString = [NSString stringWithFormat:#"tel:%#,%#", phoneNumber, dtmfAfterPickup];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]];
This will dial the phoneNumber bypassing the dial/cancel prompt... 1 second after the call is answered, the dtmfAfterPickup string will be automatically dialed.
Its a good idea to detect whether or not the device support phone calls
Per Adam's Apple developer link above, there's this RFC link that explains more about the different options for a telephone link scheme that the iPhone supports -
http://www.ietf.org/rfc/rfc2806.txt
This at least allows you to insert pauses with a 'p' in the URL, but plenty of the options are specified (but not all are required) per the RFC. What else works?
I tried with my iPhone using CoronaSDK and openurl API.
It works very well!
Just do: system.openURL("tel:[phonenumber],123").
You can wait more with additinal commas.
Tested with Corona SDK / iOS7.
Actually, I just tried the following 555-555-4822 EXT 8030
And it does seem to transmit some tones even after pressing dial (the number of p's represents the number of seconds delay). However, the tones are not being responded to on the far end as expected, so something is still amiss.
This does work, however, though it's a little more prone to timing problems tel: 555-555-4822, 8030. This just pauses for one second (,, would be two seconds) after connection, and then plays the 8030 tones
You can't do this. The SDK does not allow you control the phone function in this level of detail.

Resources