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

Вопрос по CALLERID(num)

0

Доброго времени суток,

В общем, надо сделать чтобы при входящем звонке номер входящего вызова записывался куда-нибудь в БД. Вопрос в том, что вернет команда CALLERID(num) если вдруг не удастся определить номер? И вообще, от чего зависит возвращаемое значение?

Прошу сильно не пинать. Всего второй день с астериском работаю, только пытаюсь разобраться что да как. Если это важно, то модель шлюза D'link dvg-6004s.

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

спросил 2013-12-17 09:23:56 +0400

WShade Gravatar WShade flag of Russian Federation
1 4 2

Comments

Для начала сюда:

"Астериск - будущее телефонии». 2-e издание, Издательство О'Рейли"

http://asterisk-support.ru/question/14859/knigi-po-asterisk/

bolshoy_plohish ( 2013-12-17 09:35:06 +0400 )редактировать

Обязательно почитаю, но мне бы ответ сейчас. Просто книгу в 600 страниц так быстро не прочитать, да и в рабочее время не книги читать надо. Но в любом случае, спасибо.

WShade ( 2013-12-17 09:47:34 +0400 )редактировать

Без основ понимания подсказок не будет.

Я за 3 морозных новогодних выходных осилил. :-)

bolshoy_plohish ( 2013-12-17 10:11:12 +0400 )редактировать

В общем все понятно. Тут на все вопросы отвечают ссылкой на книгу? Это не такой сложный вопрос для того кто понимает. Дали бы ссылку на статью где описаны возвращаемые значения, тема была бы уже закрыта. Вот тут http://asterisk.ru/knowledgebase/Asterisk+func+callerid написано Возвращаемые значения Возвращает строку с результатом.

Что из этого можно понять?

WShade ( 2013-12-17 10:16:05 +0400 )редактировать

Берете и пробуете. Вы астериском для работы же занимаетесь? Вот и читайте на работе. Не надо тут "надо было вчера", "надо сделать или уволят" и всего такого. Второй день работы с астериском это значит лишь то, что вы вообще ничего не знаете. Топайте читать книжку, потом вопросы задавайте.

switch ( 2013-12-17 10:39:52 +0400 )редактировать

Да я уже понял. Просто ответить на элементарный вопрос было бы несколько проще и быстрее чем разводить тут дискуссию и выставлять себя Д'артаньяном.

WShade ( 2013-12-17 10:52:12 +0400 )редактировать

Мы пытаемся дать Вам удочку, а не рыбу. Хотя глупо ожидать от типичного админа благодарности за это.

switch ( 2013-12-17 13:29:52 +0400 )редактировать

просто если ответить куском диалпална, слудующий вопрос будет "почему не появляется в базе" или почему не коннектится к базе

meral ( 2013-12-17 21:08:37 +0400 )редактировать

"Мы пытаемся дать Вам удочку, а не рыбу. Хотя глупо ожидать от типичного админа благодарности за это." Во первых. Я не типичный админ. Сервак с астериском вообще не моя работа, я просто замещаю человека который сейчас в отпуске. Вообще я C# программистом работаю. Во вторых. Я уже узнал ответ, не читая тонны книг. Просто сделал вывод при входящем звонке и посмотрел что выводит :)

WShade ( 2013-12-18 04:28:24 +0400 )редактировать

И спасибо ребятам ponch и Sarumjnauch. Ломать работающую систему я не буду конечно, но за ссылку про записи в базу большое спасибо. Буду разбираться. Если честно, то в самом астериске ничего особо сложного не увидел. :) Ну если не реализовывать задачи высокой сложности конечно :)

WShade ( 2013-12-18 04:40:21 +0400 )редактировать

да тут 99% таких "нетипичных". а потом фигня какаято творится с системами и астериск плохой.

meral ( 2013-12-18 05:41:24 +0400 )редактировать

Я вас прекрасно понимаю. А вот насчет астерикс "плохой" я бы поспорил. Я конечно только начал разбираться, но те возможности с которыми я уже столкнулся просто поражают. При должном желании и с хорошей фантазией можно просто гениальные вещи делать. Вот например http://habrahabr.ru/post/104026/ =)

WShade ( 2013-12-18 07:29:24 +0400 )редактировать

Это еще не гениально, это так, от нищеты...

switch ( 2013-12-18 09:29:07 +0400 )редактировать

Я понимаю что для вас это уже вполне обычное дело, но для тех кто раньше не сталкивался с телефонией вообще.... :)

WShade ( 2013-12-19 04:41:37 +0400 )редактировать

эта статья типичная статья человека который только вот прочитал одну книжку и "ухты, работает". что там гениального если он повторяет тысячи других написанных статей. ничего особо сложного нету, но есть куча кочек которые вы не заметите с первого раза. главное ноги не поломать.

meral ( 2013-12-19 09:07:01 +0400 )редактировать

2 Ответа

0

Рекомендую поставить не голый Asterisk, а Elastix. Там уже есть база звонков и много еще чего. Отвечая же на ваш вопрос скажу, что проще вставить в dial-plan команду NoOp(${CALLERID(number)}), позвонить на шлюз с сотового телефона, на котором включен запрет определения номера и посмотреть в /var/log/asterisk/full, так как значение CALLERID(number) может зависеть, от того как такие номера передает ваша телефонная компания или же как определяет ваш шлюз. AFAIK, это никак не регламентируется. Например, у меня в системе пишется "Unknown", может быть пустая строка, extension порта шлюза, наконец, просто всякий "мусор", который приходит от древней АТС оператора...

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

ответил 2013-12-17 23:07:25 +0400

ponch Gravatar ponch
231 26 3 12

обновил 2013-12-17 23:11:20 +0400

0

Вам надо в первую очередь разобраться с принципами работы самого Астериска, так что верно делают замечание, и дают вам ссылку на книгу. Вот вам ссылка с пошаговым описанием как писать CDR в MySQL базу: Asterisk 1.8 пишем CDR используя ODBC. Копайте в эту сторону. CallerID(num) это то, что посылает вам провайдер, Астериск его не определяет, он его просто читает. Если провайдер ничего не посылает, то и переменная будет пустой. Надеюсь внес некоторую ясность, а так Велком :)

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

ответил 2013-12-17 18:21:08 +0400

Sarumjnauch Gravatar Sarumjnauch flag of Ukraine
185 5 6
http://thirdlane.com/

Ваш ответ

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 ленту новостей

Статистика

Задан: 2013-12-17 09:23:56 +0400

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

Обновлен: Dec 17 '13

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