2011-08-30 1 views
2

Вопрос: есть ли способ передать файлы с помощью моего поставщика sip? Я хотел бы сделать приложение для Android - sip-клиент с единственной функцией для отправки файлов.
Вы вводите информацию своего аккаунта, номер, который нужно отправить, и выберите файл для отправки. Вы имеете дело со своим другом, он отвечает и начинается передача файла. Файлы могут быть в любом формате.
Я прочитал много информации, но не нашел способ сделать проект. Есть идеи?Передача файла с использованием SIP

+1

Возможно, способ использовать прокси-сервер SIP и после установления соединения сделать p2p-соединение и отправлять файлы напрямую? Но что с нат? – Valera

ответ

1

Возможно, вам следовало пойти с jabber вместо SIP.

В любом случае, должен быть способ согласовать передачу файлов в SDP.

Google мой друг: http://tools.ietf.org/html/draft-ietf-mmusic-file-transfer-mech-11

Если бы я должен был сделать это, я бы включать в себя сервер, чтобы загружать, и просто передать URL и ключ шифрования в SIP.

+0

Спасибо! Я решил сделать так, как ты писал. Но я хотел увидеть все возможности! – Valera

1

SIP злоупотребляют во многих отношениях, но это может быть худшим из них;)

Поскольку каждое сообщение должно поместиться в достаточно низкой MTU (некоторые маршрутизаторы не могут справиться с фрагментированной UDP), каждое сообщение 25 % или около того заголовков, и каждое сообщение подтверждается с другой стороны ... это будет как очень медленный, так и очень интенсивный процесс. Также не очень надежна.

Если вы разрабатываете оба конца, вам может быть лучше отправить NOTIFY другому клиенту с новым значением типа события. В сообщении укажите, где вы ожидаете подключения, и просто передайте файл непосредственно через TCP. Это, конечно, имеет собственную долю проблем с обработкой NAT, но по крайней мере он будет достаточно надежным после его запуска.