2016-05-02 5 views
0

Сеть настроена, как показано ниже.Freeswitch конвертирует 407 прокси-аутентификацию в 480 Временно недоступно

End User ------- Kamailio -------- FreeSwitch ----- Sip Сервер

  1. регистрации в SIP-сервере А успех, так как запрос непосредственно передать через kamailio на SIP-сервер A, оставив freeswitch.
  2. Получив INVITE запрос от конечного пользователя Kamailio, а затем FreeSwitch и достичь SIP сервера A, он отвечает 407 прокси аутентификации для проверки пользователя, но в ответ FreeSWITCH посылает ACK
  3. Но FreeSWITCH ответы обратно kamailio в 480 временного недоступен, и вызов становится упавшим.

    Конечный пользователь ------ Kamailio ----------- FreeSwitch -------- SIP Сервер

    REGISTER -------> | ----------------------------------------------> |

    | -----------> | <----------------------- 200 OK 
    

    INVITE -------------> | ---------------------> | --------------------> |

          |<----------- 407 
                (Proxy Auth Req.) 
              ACK ---------> | 
    
        | <--------- | <-------- 480 
             (Temporary Unavailable) 
    

Так вот мой вопрос,

  1. Причина изменения кода ответа в FreeSWITCH от 407 до 480?
  2. И как настроить FreeSWITCH, так что она будет проходить 407 ответ непосредственно kamailio, вместо этого преобразовать в 480.

Вам нужны предложения ...

ответ

0

FreeSWITCH не SIP-прокси, FreeSWITCH - это B2BUA. Это означает, что FreeSWITCH пытается сделать независимый вызов на SIP-сервере A. Если он будет успешным, FreeSWITCH свяжет его с вызовом от конечного пользователя (не от kamailio, поскольку kamailio является SIP-прокси в этой схеме, а не B2BUA). Он не может повторно отправить 407 в камаилио, потому что у него нет соответствующего механизма. Но вы можете хранить информацию аутентификации в шлюзах на стороне FreeSWITCH и инструктировать FreeSWITCH делать соответствующие вызовы для каждого пользователя, набирающего dialplan.

Это будет работать, если вы пишете Somthing как это в external.xml SIP-профиля конфигурации:

<gateway name="asterlink.com"> 
<param name="username" value="cluecon"/> 
<param name="password" value="2007"/> 
<!--/// do not register ///--> 
<param name="register" value="false"/> 
</gateway> 

и что-то вроде этого в диалплане DEFAULT.XML:

<extension name="end-user"> 
<condition field="${sip_from_user}" expression="<end_user_caller_id_number>"> 
    <action application="bridge" data="sofia/gateway/asterlink.com/${destination_number}"/> 
</condition> 
</extension> 

 Смежные вопросы

  • Нет связанных вопросов^_^