2010-10-05 4 views
0

Я пытаюсь использовать SIP для управления сторонними вызовами. Я не уверен, что это возможно, поэтому, надеюсь, кто-то может просветить меня.Управление сторонними вызовами через SIP

У меня есть следующий сценарий. Во внутренней сети есть несколько расширений телефона. У Алисы есть физический SIP-телефон, так что все остальные люди в офисе.

Что я хочу сделать (для начала), это разрешить следующее: кто-то звонит Алисе. Вместо того, чтобы собирать физический SIP-телефон, она вместо этого нажимает на какую-то кнопку (скажем, одну пометку Answer) на экране своего компьютера. Это заставляет физический телефон отключиться (например, теперь он находится на динамике), и она разговаривает с тем, кто ее звонил.

Можно ли это сделать? Любые проекты кода, особенно в C#, будут приветствоваться.

Я сделал этот тип вещей с TAPI, и это получилось очень хорошо, но TAPI - это умирающая технология (нет 64-битного эквивалента), поэтому я ищу замену.

ответ

2

Механизм SIP, позволяющий вам узнать, что телефон Алисы был выбран, является уведомлением о событии, которое зарегистрировано в RFC 3265 Session Initiation Protocol (SIP)-Specific Event Notification, а конкретный пакет событий для связанных с INVITE-уведомлений - RFC 4235 An INVITE-Initiated Dialog Event Package for the Session Initiation Protocol (SIP).

В коротких событиях SIP работают на основе подписки/уведомления, где один пользовательский агент SIP может подписаться на сервер уведомлений для уведомлений о событиях, которые происходят с другим пользовательским агентом. К сожалению, поддержка SIP-событий не является широко распространенной, и даже когда она поддерживается, может быть немного ошибочной, например Asterisk, которая используется для генерации очень странных запросов NOTIFY.

1

(Рекомендации) для 3pcc для SIP объясняются в RFC 3725.

Другая возможность (которая не использует 3pcc) предназначена для программного телефона Alice для РЕГИСТРАЦИИ с более высоким предпочтением, чем ее физический SIP-телефон. Звонки на адрес Alice's Address of Record поступят в ее программный телефон, который может ОТКАЗАТЬСЯ на вызов (так что переадресация переадресации/слежения) на SIP-телефон.

+0

Используя ваш метод, после того, как я перезвонил в режим переадресации/слежения, перезвонил вызов софтфона на физический телефон, мне все равно придется ждать, пока Алиса возьмет физическую трубку. Действие не приведет к тому, что телефон отключится (например, звонок будет на динамике), правильно? – AngryHacker

+0

В самом деле, так обстоит дело с REFER. Трудная часть - это заставить ваш физический телефон на самом деле делать что-то: он должен отвечать на вызов, например. Для этого может потребоваться отдельный, не-SIP-ответ: автоответ, переход на громкую связь. –

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