Call a GSM Service #123*
it is not possible to use gsm-codes with public methods
See Apples Documentation about Phone Links:
To prevent users from maliciously redirecting phone calls or changing the behavior of a phone or account, the Phone app supports most, but not all, of the special characters in the tel scheme. Specifically, if a URL contains the * or # characters, the Phone app does not attempt to dial the corresponding phone number.
How to trigger a phone call when clicking a link in a web page on mobile phone
Most modern devices support the tel: scheme. So use <a href="tel:555-555-5555">555-555-5555</a>
and you should be good to go.
If you want to use it for an image, the <a>
tag can handle the <img/>
placed in it just like other normal situations with : <a href="tel:555-555-5555"><img src="path/to/phone/icon.jpg" alt="Call 555-555-5555" /></a>
How to call (dialing) with * char in IOS?
The star may have to be encoded for use in a URL. Try %2A
instead of *
.
This replacement is not done by stringByAddingPercentEscapesUsingEncoding:
since *
is a valid URL character, albeit with a special meaning.
how to perform voice call from one GSM modem to another
Yes, this is possible assuming you just want to initiate and receive the voice call. You will not be able to process the audio with software.
The simplest way to do this is to use AT commands. Assuming the terminating modem has phone number 1234 then on the originating side run ATD1234;
(notice that the semicolon on the end is required in order to make a voice call. Without it the modem will make a circuit switched data call instead).
Then on the terminating side there are a few ways. The simplest is to set the S0
register to something different than zero, e.g. ATS0=2
which will automatically answer an incoming call after two rings (for more details see chapter 6.3.8 Automatic answer in V.250).
Notice however that S0
applies to all types of calls, so it would potentially try to answer data calls as well. If you want to be a little bit more sophisticated you could enable the +CRING
unsolicited result code with AT+CRC=1
(see 27.007 for details) and then write a program that monitors UR codes and when receiving +CRING: VOICE
manually answer the call with ATA
.
Except for the monitoring of UR codes, all the AT command can very easily be sent using the atinout program. Taking the simplest approach would be on the terminating side to run
$ echo ATS0=1 | atinout - /dev/your_modem_device -
ATS0=1
OK
$
and on the originating side run
$ echo 'AT1234;' | atinout - /dev/your_modem_device -
ATD123;
OK
$
Related Topics
Make Swift Assume Degrees for Trigonometry Calculations
Pdfkitten Is Highlighting on Wrong Position
Using Private API to Read Wifi Rssi Value
Is Char Signed or Unsigned by Default on iOS
iOS Share Gif (Animated Image) Not Working
Font Descriptor Returns Nil in iOS 8
How to Convert Cmsamplebuffer to Data in Swift
Xcode Doesn't Write Anything to Output Console
Setting Layoutmargins of Uiview Doesn't Work
Google Maps Url Scheme Not Working on iOS 9
Ios/C: Convert "Integer" into Four Character String
Uitableview Pagination - Bottom Refresh to Load New Data in Swift
Open iOS 11 Files App via Url Scheme or Some Other Way
Libz.Dylib Versus Libz.1.2.3.Dylib Versus Libz.1.2.5.Dylib
Application Is "Ready to Sale" But Not Reflected on Itunes Store
Locking Orientation Does Not Work on iPad iOS 8 Swift Xcode 6.2