2009-12-11 2 views
4

В частности, у меня есть USB-модем Apple, который говорит, что он поддерживает Caller ID, и я хочу, чтобы мое приложение могло узнать, когда приходит звонок и чей вызов. В будущем я могу добавить возможности дозвона и т. Д., Но тележку до лошади. Идентификатор вызывающего абонента - стоп-один!Как узнать информацию о вызывающем абоненте в приложении Cocoa?

Сказанное, я не могу поверить, что это доказало, что оказалось, что это единственный пример ANYWHERE (я выбрал CRAP из этого!), Но может ли кто-нибудь показать мне, как сделать базовое обнаружение идентификатора вызывающего абонента в Mac приложение? Я бы предпочел Какао, но я буду готов пойти на Углерод, если понадобится.

Теперь я не ищу пример API полной телефонии, хотя, опять же, я поеду туда, если потребуется, но я даже не могу его найти! Обнаружил это повсюду на стороне Windows, но не может найти чертову вещь на Mac!

+2

Могу ли я предложить вам сделать один из ваших тегов «модем» или хотя бы упомянуть его несколько ранее в вопросе? Мне потребовалось некоторое время, чтобы понять, чего вы на самом деле хотите. –

+0

Майк, модем вторичный. Я упомянул об этом, потому что это то, что у меня есть, но если есть еще один способ получить Caller ID из моей домашней строки в приложение, я все для этого. В конце концов, не только модемы делают это. У меня есть поле идентификатора вызывающего абонента на основе последовательного порта, которое не является модемом, но читает информацию об идентификаторе вызывающего абонента. Но если есть USB что-то или другое, или что-нибудь еще, что может получить мне идентификатор звонящего, вот что я в конечном итоге. Кишки черного ящика не имеют значения. – MarqueIV

ответ

0

Человек, который идет старой школы. За пять лет я не видел ничего, связанного с аналоговыми модемами. Я знаю, что в тот же день, даже модем NextStep был включен в BSD и написан на C. Я не думаю, что когда-либо был Objective-C API для всего этого. Сегодня все это volIP.

Asterisks выглядит как-то, что вы, возможно, сможете использовать.

+0

Я ... вот в чем проблема. Я искал получение идентификатора вызывающего абонента с устройств Bluetooth с мобильных телефонов, но безрезультатно. Я также изучал материалы VOIP, но помимо Skype или другого приложения, большинство аппаратных средств VOIP просто преобразуют сигналы обратно в линии POTS, поэтому вы все равно можете использовать свои обычные телефоны, поэтому вы вернетесь к началу. Как я уже сказал в ответ на комментарий «модем» выше, конечная игра - это то, что я хочу получить уведомление об идентификаторе вызывающего абонента. Не важно, как и по какому методу. Просто нужно это получить. Вы можете показать мне какое-либо решение, я все для этого. – MarqueIV

+0

Я думаю, что это будет сложно. Люди просто больше не выполняют такую ​​работу. Я предлагаю вам найти некоторые совместимые с Posix Linux-решения и попытаться их перенести. На стороне Linux много аппаратного взлома. – TechZen

-1

Это намного сложнее, чем вы думаете, потому что для управления модемом нет API.

Asterisk, упомянутый выше в TechZen, является хорошей ссылкой, но у Asterisk нет драйвера для USB-модема, который вы пытаетесь использовать. Люди в sunrisetel начали усилие, чтобы написать драйвер для USB-модема от Apple, но я не уверен, если они не отказались от него в то же время: see afelio

Цитируя страницу Afelio в:

В настоящее время разрабатывается медиасервер для модем Motorola SM56, который используется Apple на последних компьютерах Mac и на внешнем USB-модеме Apple.

0

Можете ли вы поговорить с модемом с помощью команд Hayes? Тогда я думаю, что вы должны быть в состоянии включить функцию удостоверения личности звонящего с

AT#CID=1 

Если вам нужно терминальную программу, чтобы поговорить с модемом с я могу рекомендовать minicom. Я получил его скомпилировать для макинтоша только теперь с

LIBS=-liconv ./configure ; make ; sudo make install 

Я не знаю, как будет представлен идентификатор вызывающего абонента, но я думаю, что с помощью терминальной программы вы должны быть в состоянии видеть это, вероятно, когда RING является outputed от модема.

Что нового? Возможно, это может быть start

Затем обратно в Какао, как говорить к модему? См. Это discussion

В этом page обсуждается идентификатор вызывающего абонента, .Видимо, идентификатор вызывающего абонента и многое другое выводится после первых RING

+0

ЕСЛИ я мог бы получить то, что было бы здорово ... но я не нашел никакого способа добраться до портов COM, чтобы отправить команды вниз. Я работаю над образцом Apple, который предположительно перечисляет последовательные порты, но я не могу получить ничего больше, чем общий ответ от запроса к системе, какие модемы/порты подключены, а также модем, и он терпит неудачу, когда я пытаюсь открыть порт в любом случае , Если вы знаете какой-либо код Mac для разговора с USB-модемом или даже с COM-портом, я бы с удовольствием его увидел! Было бы удачной помощью! – MarqueIV

+0

@MarqueIV Этот пример кода должен вас поймать http://developer.apple.com/mac/library/samplecode/SerialPortSample/ Вы должны заметить команды AT, определенные в начале файла .c – epatel

1

Как упоминался elsewhere вы можете (и я) использовать screen /dev/tty.usbmodem00001 или некоторые такие, чтобы получить доступ к модему непосредственно из терминала, отправить AT команд или увидеть кольца и CallerID (когда включено через AT или NCID). Они также проходят через использование миникомпьютера, как указано выше.

Googling /dev/tty mac callerid раскрывает немало идей.

Что касается написания программного обеспечения, я думаю, что NCID будет либо полезен (там тоже есть плагин рычага!), Либо может служить примером кода. См. the Mac install instructions, в частности под номером TEST USING A MODEM. Вот an example way of extending NCID to launch your own program/script with CallerID info.

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