проблема с помощью телефона: URL для инициирования вызова

Отправьте Progress(), затем Ringing() или PlayTones(ring)

. Я видел нескольких провайдеров, где нам нужно было указать звонок с помощью ранних средств массовой информации , например:

exten => 500,1,Progress()
exten => 500,n,Wait(1)
exten => 500,n,Dial(PJSIP/121)
exten => 500,n,Hangup()

и или

exten => 500,1,Progress()
exten => 500,n,PlayTones(ring) <-- OR USE MAYBE Ringing() HERE INSTEAD?
exten => 500,n,Dial(PJSIP/121)
exten => 500,n,Hangup()

и и т. Д.

См. Также

[1125 ] https://wiki.asterisk.org/wiki/display/AST/Asterisk+16+Dialplan+Applications :

27
задан denton 1 May 2009 в 17:00
поделиться

5 ответов

iPhone будет набирать номер, используя любой из форматов, перечисленных ниже. Но это ничего не даст, если вы находитесь в симуляторе. Мне потребовалось 30 минут, чтобы понять это.

[[UIApplication sharedApplication] 
                    openURL:[NSURL URLWithString:@"tel://15415551234"]];

[[UIApplication sharedApplication] 
                    openURL:[NSURL URLWithString:@"tel:15415551234"]];

[[UIApplication sharedApplication] 
                    openURL:[NSURL URLWithString:@"tel:1-541-555-1234"]];

Ссылка на документацию Apple по тел: схема URL

Ссылка на документацию openURL

44
ответ дан 28 November 2019 в 04:36
поделиться

URL должен быть тел: // 3035551212, а не тел: 3035551212 ... Добавьте это //, и оно должно работать.

-3
ответ дан 28 November 2019 в 04:36
поделиться

I just ran into this when trying to add a "Call" button to a UIAlertView. I had the following code to handle the call:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
    if (buttonIndex != 0)
    {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel:1-602-555-1212"]];
    }
}

It wouldn't open anything, just like you. I even tried a regular http URL. It turned out I had forgotten to set the delegate to self. That's probably your problem also.

2
ответ дан 28 November 2019 в 04:36
поделиться

Haven't had any problems with it using tel:{phone-number} and invoking it the same way you are. Only works on the iPhone device, though.

One thing I did have to do was strip out extraneous characters (like all parentheses, spaces, dashes and dots) out of the phone string. Some of the examples above (but not the original post) have dashes. That might be the problem.

3
ответ дан 28 November 2019 в 04:36
поделиться

Как сказал @bentford, у человека может случиться выкидыш, потому что симулятор показывает предупреждение, когда вы пытаетесь нажать на телефон в приложении контактов, это просто предупреждение, которое генерируется, потому что приложение проверяет, поддерживается ли на устройстве протокол tel: .

В дополнение к тому, что он пишет, вы можете также добавить поддержку для экранирования любых специальных символов или пробелов, например:

NSString *phoneStr = [NSString stringWithFormat:@"tel:%@",[self.contactDetails objectForKey:@"phone"]];
NSString *escaped = [phoneStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:escaped]];

Надеюсь, это поможет.

Ура.

7
ответ дан 28 November 2019 в 04:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: