tiene telefono solo señal salen sale recibe puedo porque pero numero llamadas llamada hacer hace error entran desde como cambiar apple iphone ios core-telephony

telefono - porque me sale error en la llamada en mi iphone 5s



iPhone, llama a otro número de teléfono en respuesta al primero que no responde? (5)

No lo examiné más a fondo, pero el SDK de Deutsche Telekom podría contener lo que estás buscando:

http://www.developergarden.com/fileadmin/microsites/ApiProject/Dokumente/Dokumentation/ObjectiveC-SDK-2.0/en/interface_voice_call_service.html

Sin embargo, no estoy seguro (no tengo tiempo para verlo en este momento). Acabo de recordar que leí en alguna parte que tienen un SDK de iOS que también debe manejar la administración de llamadas, así que estoy publicando El enlace aquí para que lo averigües (y espero que nos diga si funciona).

Estoy intentando crear una aplicación que iniciará una llamada a un contacto de prioridad 1 en una lista similar a un centro de llamadas.

Entonces, si ese contacto no responde (olvidemos todo el problema de los contestadores automáticos aquí), me gustaría llamar al contacto de prioridad 2, y así sucesivamente, hasta que uno de ellos responda o yo agote mi lista.

es posible?

He intentado lo siguiente:

  1. Enganche en el evento CTCallStateConnected y CTCallStateDisconnected el estado de la llamada para CTCallStateConnected y CTCallStateDisconnected , y lo hago para responder al hecho de que la llamada se desconectó, sin conectarse nunca, y luego intento iniciar otra llamada como la primera, pero este segundo intento simplemente se sienta muerto en el agua.
  2. Sobrescriba el método DidEnterBackground y verifique periódicamente la propiedad CTCall.CallState , básicamente, tratando de responder a una desconexión que nunca se conectó, pero parece que esto tampoco funciona

También intenté agregar un breve retraso (1 segundo, 2,5 segundos y 10 segundos) después de detectar el estado de desconexión antes de intentar la siguiente marcación, para permitir que la aplicación del teléfono se "establezca" después de abortar la llamada, esto no cambió nada.



Si desea configurar una nueva llamada, mientras la aplicación está en segundo plano, no veo ninguna forma adecuada para esto, podría ser un truco de lil, obtener una actualización de ubicación (porque puede obtener actualizaciones de ubicación mientras la aplicación está en segundo plano) y el servicio de ubicación automáticamente. activa su aplicación cuando llegan nuevos datos de ubicación, y se le otorga una pequeña cantidad de tiempo a la aplicación en la que puede ejecutar algún código, en ese momento puede iniciar una nueva llamada.

Puedes leer más aquí:
busque este '''' Inicio del Servicio de Localización de Cambios Significativos '''' en este enlace Guía de programación de Aware Location , y lea el párrafo que está escrito después del bloque de código.


Soy de la opinión de que esto se resuelve mejor en el destino de la llamada telefónica. Me gustaría que la compañía telefónica configurara un servicio "Sígueme", usara Twilio u otro servicio de terceros (como ya se sugirió), o configurara mi propio PBX usando algo como Asterisk (Asterisk incluye la capacidad de configurar el tipo "sígueme" comportamiento). Le proporciona mucha más flexibilidad y control, incluso si encontró una manera de hacerlo de forma nativa en iOS.

Dicho esto, conseguí que esto funcionara en iOS asumiendo lo siguiente:

  1. Su aplicación inicia la llamada.
  2. La aplicación del teléfono se abre, marca el número y se desconecta.
  3. El usuario vuelve explícitamente a su aplicación. Si logró obtener los eventos mientras su aplicación estaba en segundo plano, quiero saber más :-).
  4. Al devolver el control a su aplicación, los eventos del teléfono se envían y se inicia una nueva llamada.

Tengo el siguiente fragmento de código en mi método UIApplicationDelegate didFinishLaunchingWithOptions:

// In appdelegate header, ct is declared as @property (strong, nonatomic) CTCallCenter *ct; self.ct = [[CTCallCenter alloc] init]; self.ct.callEventHandler = ^(CTCall *call) { if (call.callState == CTCallStateConnected) { // do some state management to track the call } else if (call.callState == CTCallStateDisconnected) { // check that this is the expected call and setup the // new phone number NSURL *telURL = [NSURL URLWithString:myNewNumberURL]; [application openURL:telURL]; } };

Esto hará que la nueva llamada. Estoy usando el iOS 5 SDK; Probado en un iPhone 4s.

EDITAR :

Usando el comportamiento de Volver a la aplicación después de una llamada telefónica diferente en código nativo que UIWebView como punto de partida, logré que esto funcionara. Tenga en cuenta que he castigado en la gestión de la memoria para mayor claridad. Suponiendo que utilice la técnica de vista web para volver a su aplicación después de que se complete la llamada, intente algo como esto en el bloque de llamada completada:

else if (call.callState == CTCallStateDisconnected) { // check that this is the expected call and setup the // new phone number NSURL *telURL = [NSURL URLWithString:myNewNumberURL]; dispatch_async(dispatch_get_main_queue(), ^{ UIWebView *callWebview = [[UIWebView alloc] init] ; [self.window.rootViewController.view addSubview:callWebview]; [callWebview loadRequest:[NSURLRequest requestWithURL:telURL]]; // and now callWebView sits around until the app is killed....so don''t follow this to the letter. }); }

Sin embargo, esto tampoco puede darte lo que quieres. El usuario recibirá una alerta en cada solicitud de llamada, brindando la oportunidad de cancelar la llamada.


#pragma mark - #pragma mark Call Handler Notification -(void)notificationCallHandler { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callReceived:) name:CTCallStateIncoming object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callEnded:) name:CTCallStateDisconnected object:nil]; [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(callConnected:) name:CTCallStateConnected object:nil]; } -(void)callEnded:(NSNotification*)notification { NSLog(@"callEnded"); } -(void)callReceived:(NSNotification*)notification { NSLog(@"callReceived"); } -(void)callConnected:(NSNotification*)notification { NSLog(@"callConnected"); }

Que esto te ayude