Programmatically Marque un número de teléfono y pase DTMF usando el iPhone SDK

¿Cómo se hace programáticamente lo siguiente desde el iPhone SDK?

  1. Programáticamente marcar un número de teléfono a través del iPhone SDK

  2. Omitir el aviso de marcar / cancelar que aparece en el iPhone

  3. Envíe DTMF adicionales después de que se marque el número tal como lo haría con las pausas progtwigdas en un teléfono normal.

Sé que puede hacer una llamada de tel:// pero el problema es que hace que aparezca el aviso de marcar / cancelar y, a continuación, evita que se envíe un DTMF en el futuro.

El SDK de iPhone NO le da acceso directo a los números de marcado (imagínese si un progtwig “malo” recibió en su teléfono y marcó un número de pago por minuto en modo silencio para que no lo note).

Sin embargo, si utiliza el enlace de tel, entonces debería poder enviarlo “,” caracteres que inserta pausas.

Entonces, para marcar 555-1212, espere 4 segundos, luego haga 12345 # en el tono de toque que usaría tel: 5551212,, 12345 #

Consulte https://developer.apple.com/iphone/library/featuredarticles/iPhoneURLScheme_Reference/Articles/PhoneLinks.html

-Adán

No sé por qué todos dicen que no puedes … ¡ PUEDES !

 NSString *phoneNumber = @"15555551212"; NSString *dtmfAfterPickup = @"1234"; NSString *telString = [NSString stringWithFormat:@"tel:%@,%@", phoneNumber, dtmfAfterPickup]; [[UIApplication sharedApplication] openURL:[NSURL URLWithString:telString]]; 

Esto marcará el número de teléfono omitiendo la solicitud de marcado / cancelación … 1 segundo después de que se responde la llamada, la cadena dtmfAfterPickup se marcará automáticamente.

Es una buena idea detectar si el dispositivo admite o no llamadas telefónicas

Según el enlace de desarrollador de Apple de Adam anterior, existe este enlace de RFC que explica más sobre las diferentes opciones para un esquema de enlace telefónico que admite el iPhone:

http://www.ietf.org/rfc/rfc2806.txt

Esto al menos le permite insertar pausas con una ‘p’ en la URL, pero muchas de las opciones están especificadas (pero no todas son obligatorias) según el RFC. ¿Qué más funciona?

Intenté con mi iPhone usando CoronaSDK y Openurl API. ¡Funciona muy bien! Solo hazlo: system.openURL (“tel: [phonenumber], 123”). Puedes esperar más con comas adicionales. Probado con Corona SDK / iOS7.

En realidad, probé lo siguiente 555-555-4822 EXT 8030

Y parece transmitir algunos tonos incluso después de presionar el dial (el número de p representa la cantidad de segundos de retraso). Sin embargo, los tonos no se responden en el otro extremo como se esperaba, por lo que todavía hay algo mal.

Sin embargo, esto funciona, aunque es un poco más propenso a los problemas de temporización tel: 555-555-4822, 8030. Esto hace una pausa de un segundo (,, serían dos segundos) después de la conexión, y luego reproduce los tonos 8030.

No puedes hacer esto. El SDK no le permite controlar la función del teléfono en este nivel de detalle.