Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

user=phone не включается

0

Всем привет. Есть задача подключиться к билайну, он в кои-то веки стал предоставлять возможность подключения по SIP. Стоит у них SI3000 - довольно популярная штука у операторов, но настроена как-то странно. Им обязательно наличие user=phone в инвайте и в полях TO. Без этого отдают 503 ошибку даже на OPTIONS пакеты. В астериске эта хрень в принципе реализована с 2004 года (опция usereqphone), но по непонятным причинам не работает. Изучение исходников показало, что есть некоторые условия, при которых эта хрень подставляется. Я их вроде бы исполняю, но все равно ее нет ни в инвайтах, ни в других пакетах. Пытался попросить убрать эту штуку вообще, но ихний рукожопый и крайне неприятный в общении телефонист заявил что делать ничего не будет, не может и не умеет.

Вот кусок кода, ответственного за эти действия:

if (ast_test_flag(&p->flags[0], SIP_USEREQPHONE)) {
    const char *s = p->username;    /* being a string field, cannot be NULL */

    /* Test p->username against allowed characters in AST_DIGIT_ANY
        If it matches the allowed characters list, then sipuser = ";user=phone"
        If not, then sipuser = ""
    */
    /* + is allowed in first position in a tel: uri */
    if (*s == '+')
        s++;
    for (; *s; s++) {
        if (!strchr(AST_DIGIT_ANYNUM, *s) )
            break;
    }
    /* If we have only digits, add ;user=phone to the uri */
    if (*s)
        urioptions = ";user=phone";
}

Вопрос, собственно: что делать?

удалить закрыть спам изменить тег редактировать

спросил 2014-03-31 19:08:04 +0400

switch Gravatar switch
8334 11 7 91
http://lynks.ru/

обновил 2014-03-31 19:08:35 +0400

1 Ответ

0
INVITE sip:2510@10.1.5.22;user=phone SIP/2.0.
Via: SIP/2.0/UDP 10.1.5.114:5060;branch=z9hG4bK213830df;rport.
Max-Forwards: 70.
From: "100" <sip:100@10.1.5.114>;tag=as4b371098.
To: <sip:2510@10.1.5.22;user=phone>.

sip reload сказать или обновить таки астериск с 1.4 ? :)

ссылка удалить спам редактировать

ответил 2014-03-31 19:30:03 +0400

komrad123 Gravatar komrad123
3780 5 3 42

Comments

1.8.25

komrad123 ( 2014-03-31 19:31:07 +0400 )редактировать

обновить астериск не вариант. Про sip reload конечно же забыл.

А вообще эта фича реализована в 2004 году. Т.е. задолго до 1.4 ветки.

switch ( 2014-03-31 19:36:29 +0400 )редактировать

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2014-03-31 19:08:04 +0400

Просмотрен: 186 раз

Обновлен: Mar 31 '14

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

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.