VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Запретить подмену CID

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Запретить подмену CID

Сообщение d771 »

Здравствуйте!
Недавно обнаружил, что астериск принимает любой cid от клиента (в том числе и вообще принимает входящий без CID, если на клиенте ничего не прописать).
Как это исправить?
знаю, что можно записать примерно так:
[100]
callerid=100

Но если клиентов много, придется каждому прописывать callerid.
Есть ли какая-нибудь опция, чтобы сделать callerid=username?
И правильно ли я понимаю, что чтобы запретить принимать callerid от клиента надо написать в sip.conf "callingpres=prohib"?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Запретить подмену CID

Сообщение Vlad1983 »

имя канала как раз содержит имя пира
откусить и сравнить CALLERID(number)
ЛС: @rostel
d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Re: Запретить подмену CID

Сообщение d771 »

Т.е. придется сравнивать перед каждым dial?
По-моему это чересчур костыльное решение. Проще тогда callerid в конфигурации пира прописать.
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Запретить подмену CID

Сообщение Vlad1983 »

dial тут ни при чем

определитесь что вам проще: одна строка на в ходе в диалплан или один параметр у каждого пира
ЛС: @rostel
d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Re: Запретить подмену CID

Сообщение d771 »

Диалплан у меня такого вида:
context internal_free {
_[345]XX => {
Dial(SIP/${EXTEN},,g);
Hangup();
}
_[67]XXX => {
Dial(SIP/${EXTEN},,g);
Hangup();
}
.... тут еще куча аналогичных строк ....
}

где именно мне нужно прописывать сравнение username с cid?
Vlad1983
Сообщения: 4251
Зарегистрирован: 09 авг 2011, 11:51

Re: Запретить подмену CID

Сообщение Vlad1983 »

если в internal_free попадает сразу, то в каждом экстене
можно вынести проверку в отдельный контекст, из которого Goto -> internal_free
ЛС: @rostel
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Запретить подмену CID

Сообщение ded »

Велосипед из рисовой соломки, инкрустированный диалпланом на ael.
"У меня справа стразик отклеивается! Как мне его сделать, чтобы не отклеивался? Спасибо!"
d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Re: Запретить подмену CID

Сообщение d771 »

Т.е. вы считаете, что с AEL не стоит связываться, и надо сразу переходить на LUA?
Просто "дефолтный" язык extensions очень уж низкоуровен, написать на нем что-то сложное, чтобы в дальнейшем другой человек это сразу понял просто невозможно.
ded
Сообщения: 15628
Зарегистрирован: 26 авг 2010, 19:00

Re: Запретить подмену CID

Сообщение ded »

Я считаю, что "дефолтный" язык extensions прост до безобразия, и большинство народу в мире, имеющие дело с Астериск, обмениваются примерами именно на нём. В дальнейшем другой человек это сразу понимает, прошу поверить опыту. Писать сразу на AEL или LUA - значит сознательно загонять себя в зажатые рамки. И тогда - не задавать вопросов, ибо это уже другой уровень.
Анекдот в эпоху консольных команд ДОС:
Настоящие программеры пишут прогу сразу в
copy con programm.exe
или для среды UNIX:

Код: Выделить всё

cat > programm.so
ELF�▒4(�@�U��WVS1ۃ��T�2�x�T$���t���U��D$ZtO�D$1D$
                                                 �9�\��ۋt�L$
                                                            �▒:
u��
   �L$
      �:
uC;_u�D�T�+G�B;$u�4$뙃����[^_]�U��WVS��
                                       �$�$���T�\▒�ʉ����������D$�������ىD$��1�����tf���t��|$���w`�\$��$���S�|$1҃�▒� �T����t
                                                                                                                          �D:)u��E:)uB��A;
                                                                                                                                          $rߋt�|���;�
                                                                                                                                                     $�����
                                                                                                                                                           
                                                                                                                                                           ���������license=GPLsrcversion=787F895B74640CDCD3A8591depends=vermagic=2.6.18-308.4.1.el5 SMP mod_unload 686 REGPARM 4KSTACKS gcc-4.1kmp�K��struct_module�[_register�l��textsearch_unregister�▒▒ ts_kmp��?O��郼��4��sER�U�k�7K`?TH�JW.���J��b�\�{3`���1�@�=�

��

'$
/
8�A��JOZ
        k��x #�C        �       �`H��
                                     �
�
�
 ts_kmp.ckmp_get_pattern_lenexit_kmpkmp_opsinit_kmpkmp_findkmp_initkmp_get_pattern__mod_license141ts_kmp.mod.c__mod_srcversion31__module_depends____versionarch_unregister__this_modulecleanup_moduleinit_moduletextsearch_register__kmallocts_kmp.ko.debug3"@�.rodata.str1.1.rel.data.symtab.strtab.shstrtab.rel.gnu.odule_sig.gnu_debuglink.modinfo__versions.bss.rel.text.rel.init.text.rel.exit.text�4T� ��
�       ��
�       m�� 2�v� �$     �@
8��4    �
Ctrl-D
d771
Сообщения: 28
Зарегистрирован: 29 дек 2012, 21:18

Re: Запретить подмену CID

Сообщение d771 »

Судя по содержимому, в вашей пасте речь идет о ts_kmp.mod.c. Почему избран именно этот модуль для примера? :)
По теме: почему-то мне кажется, что аутентификацией (а это по сути именно она) должен заниматься не диалплан, а кто-то пораньше...
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH