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

Когда принято использовать Verbose и NoOp

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

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

Al8
Сообщения: 85
Зарегистрирован: 07 фев 2016, 17:31

Когда принято использовать Verbose и NoOp

Сообщение Al8 »

Когда пишется диалплан, некоторые используют описанные команды для отладки работы Asterisk.
У нас в КЦ (Кол центер) например эти команды не используются.

Возник вопрос (не один): Когда принято использовать эти команды?

И что лучше Verbose или NoOp?

И вообще нужны ли эти команды бородатым дядям?
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: Когда принято использовать Verbose и NoOp

Сообщение ded »

Книжку, книжку читать.
Verbose - многословность, подробный выхлоп исполнения диалплана и более.
NoOp - вывод состояния любых переменных в любой точке диалплана, и вообще всякого нужного и ненужного.

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

NoOp(____   ____          ___.                                               )
NoOp(\   \ /   /__________\_ |__   ____  ______ ____     ____ _____    ____  )
NoOp( \   Y   // __ \_  __ \ __ \ /  _ \/  ___// __ \  _/ ___\\__  \  /    \ )
NoOp(  \     /\  ___/|  | \/ \_\ (  <_> )___ \\  ___/  \  \___ / __ \|   |  \)
NoOp(   \___/  \___  >__|  |___  /\____/____  >\___  >  \___  >____  /___|  /)
NoOp(              \/          \/           \/     \/       \/     \/     \/ )
NoOp(               __      __  .__            __  ._.)
NoOp(  ____   _____/  |_  _/  |_|  |__ _____ _/  |_| |)
NoOp( /    \ /  _ \   __\ \   __\  |  \\__  \\   __\ |)
NoOp(|   |  (  <_> )  |    |  | |   Y  \/ __ \|  |  \|)
NoOp(|___|  /\____/|__|    |__| |___|  (____  /__|  __)
NoOp(     \/                         \/     \/      \/)
virus_net
Сообщения: 2337
Зарегистрирован: 05 июн 2013, 08:12
Откуда: Москва

Re: Когда принято использовать Verbose и NoOp

Сообщение virus_net »

Al8 писал(а):Когда принято использовать эти команды?
Тогда когда необходимо что-то увидеть, например, как уже и сказал ded состояния любых переменных или "озвучивание" словами на каком шаге мы находимся.
Al8 писал(а):И что лучше Verbose или NoOp?
Это неправильный вопрос. Они оба хороши. Verbose позволяет задавать уровень вербозности консоли, при которой он будет отображаться, а у NoOp такого нет.
Пожалуйста, научитесь выполнять команды:

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

*CLI> core show applications like APPNAME
*CLI> core show application APPNAME
*CLI> core show functions like FUNCNAME
*CLI> core show function FUNCNAME
где APPNAME это имя интересующей application, а FUNCNAME имя интересующей функции.
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:

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

*CLI> core show function
AES_DECRYPT           AES_ENCRYPT           AGC                   AGENT                 ARRAY                 AST_CONFIG            AUDIOHOOK_INHERIT     BASE64_DECODE
BASE64_ENCODE         CALLCOMPLETION        CALLERID              CALLERPRES            CDR                   CHANNEL               CHANNELS              CHECKSIPDOMAIN
CONNECTEDLINE         CSV_QUOTE             CUT                   DB                    DB_DELETE             DB_EXISTS             DEC                   DENOISE
DEVICE_STATE          DIALGROUP             DIALPLAN_EXISTS       DO_CDR                ENUMLOOKUP            ENUMQUERY             ENUMRESULT            ENV
EVAL                  EXCEPTION             EXISTS                EXTENSION_STATE       FAXOPT                FIELDNUM              FIELDQTY              FILE
FILE_COUNT_LINE       FILE_FORMAT           FILTER                FRAME_TRACE           GET_AUTOCONTACTS      GLOBAL                GROUP                 GROUP_COUNT
GROUP_LIST            GROUP_MATCH_COUNT     HASH                  HASHKEYS              HINT                  ICONV                 IF                    IFMODULE
IFTIME                IMPORT                INC                   ISNULL                KEYPADHASH            LEN                   LISTFILTER            LOCAL
LOCAL_PEEK            LOCK                  MAILBOX_EXISTS        MASTER_CHANNEL        MATH                  MD5                   MEETME_INFO           MINIVMACCOUNT
MINIVMCOUNTER         MUTEAUDIO             ODBC                  ODBC_ANTIGF           ODBC_FETCH            ODBC_PRESENCE         ODBC_SQL              PASSTHRU
PITCH_SHIFT           POP                   PP_EACH_EXTENSION     PP_EACH_USER          PUSH                  QUEUE_EXISTS          QUEUE_MEMBER          QUEUE_MEMBER_COUNT
QUEUE_MEMBER_LIST     QUEUE_MEMBER_PENALTY  QUEUE_VARIABLES       QUEUE_WAITING_COUNT   QUOTE                 RAND                  REALTIME              REALTIME_DESTROY
REALTIME_FIELD        REALTIME_HASH         REALTIME_STORE        REDIRECTING           REGEX                 REPLACE               SET                   SHA1
SHARED                SHELL                 SHIFT                 SIP_HEADER            SIPCHANINFO           SIPPEER               SORT                  SPEECH
SPEECH_ENGINE         SPEECH_GRAMMAR        SPEECH_RESULTS_TYPE   SPEECH_SCORE          SPEECH_TEXT           SPRINTF               SQL_ESC               SRVQUERY
SRVRESULT             STACK_PEEK            STAT                  STRFTIME              STRPTIME              SYSINFO               TESTTIME              TIMEOUT
TOLOWER               TOUPPER               TRYLOCK               TXTCIDNAME            UNLOCK                UNSHIFT               URIDECODE             URIENCODE
VALID_EXTEN           VERSION               VMCOUNT               VOLUME

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

*CLI> core show application
AddQueueMember           ADSIProg                 AgentLogin               AgentMonitorOutgoing     AGI                      AlarmReceiver            AMD
Answer                   Authenticate             BackGround               BackgroundDetect         Bridge                   Busy                     CallCompletionCancel
CallCompletionRequest    CELGenUserEvent          ChangeMonitor            ChanIsAvail              ChannelRedirect          ChanSpy                  ClearHash
ConfBridge               Congestion               ContinueWhile            ControlPlayback          DAHDIScan                DateTime                 DBdel
DBdeltree                DeadAGI                  Dial                     Dictate                  Directory                DISA                     DumpChan
EAGI                     Echo                     EndWhile                 Exec                     ExecIf                   ExecIfTime               ExitWhile
ExtenSpy                 ExternalIVR              Festival                 Flash                    FollowMe                 ForkCDR                  GetCPEID
Gosub                    GosubIf                  Goto                     GotoIf                   GotoIfTime               Hangup                   ICES
ImportVar                Incomplete               Log                      Macro                    MacroExclusive           MacroExit                MacroIf
MailboxExists            MeetMe                   MeetMeAdmin              MeetMeChannelAdmin       MeetMeCount              Milliwatt                MinivmAccMess
MinivmDelete             MinivmGreet              MinivmMWI                MinivmNotify             MinivmRecord             MixMonitor               Monitor
Morsecode                MP3Player                MSet                     MusicOnHold              MYSQL                    NBScat                   NoCDR
NoOp                     ODBC_Commit              ODBC_Rollback            ODBCFinish               Originate                Page                     Park
ParkAndAnnounce          ParkedCall               PauseMonitor             PauseQueueMember         Pickup                   PickupChan               Playback
PlayTones                PrivacyManager           Proceeding               Progress                 Queue                    QueueLog                 RaiseException
Read                     ReadExten                ReadFile                 ReceiveFAX               Record                   RemoveQueueMember        ResetCDR
RetryDial                Return                   Ringing                  SayAlpha                 SayDigits                SayNumber                SayPhonetic
SayUnixTime              SendDTMF                 SendFAX                  SendImage                SendText                 SendURL                  Set
SetAMAFlags              SetCallerPres            SetMusicOnHold           SIPAddHeader             SIPDtmfMode              SIPRemoveHeader          SLAStation
SLATrunk                 SMS                      SoftHangup               SpeechActivateGrammar    SpeechBackground         SpeechCreate             SpeechDeactivateGrammar
SpeechDestroy            SpeechLoadGrammar        SpeechProcessingSound    SpeechStart              SpeechUnloadGrammar      StackPop                 StartMusicOnHold
StopMixMonitor           StopMonitor              StopMusicOnHold          StopPlayTones            System                   TestClient               TestServer
Transfer                 TryExec                  TrySystem                UnpauseMonitor           UnpauseQueueMember       UserEvent                Verbose
VMAuthenticate           VMSayName                VoiceMail                VoiceMailMain            Wait                     WaitExten                WaitForNoise
WaitForRing              WaitForSilence           WaitMusicOnHold          WaitUntil                While                    Zapateller
а затем читать выхлоп, прежде чем писать на форум.
Al8 писал(а):нужны ли эти команды бородатым дядям?
Бородатым дядям они просто must have, т.к. они позволяют отлаживать dialplan и выполнять траблшут. Детям они не нужны, т.к. они и консоль то никогда не видели.
мой SIP URI sip:virus_net@asterisk.ru
bitname.ru - Домены .bit (namecoin) .emc .coin .lib .bazar (emercoin)

ENUMER - звони бесплатно и напрямую.
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: Когда принято использовать Verbose и NoOp

Сообщение svd »

а можно поподробнее о том как варить verbose

запускаю консоль asterisk -rvvv
(я так понимаю выставляю verbose level=3 по количеству букавок v)

пытаюсь отлаживать AGI-скрипт

там создана функция

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

function debug($string, $level=3)
{
	global $AGI;
	$AGI->verbose($string, $level);
}
сразу когда начал отлаживать меседжы выводились, а сейчас куда то пропали...
не могу понять...

функцию вызываю в скрипте эту так (так было в примере)

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

debug("Caller ID name is '$cidname' number is '$cidnum'", 1);
как диагностировать что с ней стало и как правильно это готовить?
ded
Сообщения: 15629
Зарегистрирован: 26 авг 2010, 19:00

Re: Когда принято использовать Verbose и NoOp

Сообщение ded »

ded писал(а):Книжку, книжку читать.
консоль
asterisk -rvvvvvvvvv - с большой вербозностью
asterisk -rvv - с малой
повысить вербозности в текущей сессии
CLI> core set verbose 10

Дебажить же AGI командой
CLI> agi set debug on

Не стоит задавать вопросы, ответы на которые есть в учебниках.
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: Когда принято использовать Verbose и NoOp

Сообщение svd »

вопрос снят, проблема была с опечаткой в php файле. из-за неё всё рушилось и ничего не выводилось.
gland
Сообщения: 115
Зарегистрирован: 25 янв 2012, 11:07

Re: Когда принято использовать Verbose и NoOp

Сообщение gland »

svd писал(а):30 июн 2016, 14:56 пытаюсь отлаживать AGI-скрипт
svd писал(а): 20 июл 2016, 16:58 опрос снят, проблема была с опечаткой в php файле
Неужели 30-го июня нельзя было закомментировать ... = new(Agi);
и запустить php файл из командной строки???
Хотя, можно и не комментировать, синтаксис проверяется до исполнения
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: Когда принято использовать Verbose и NoOp

Сообщение svd »

а я не умел тогда на пхп писать и отлаживать ЭТО.
заодно и потренировался

я как бы больше на C#

хотя, как говориться, на чём надо на том и пишем, помню давненько даже на mapbaseic что-то ваял.
заплюют меня пхп-писты, но не понравился он мне, интерпретируемый язык, переменные не типизированные, не компилируется.
никакого контроля откуда и к чему обращаюсь.
фатальным крушением оказалось объявление переменной как в t-sql @val_res
мой глаз за ЭТО не цепляется, интерпретатор тупо тихо валится. А мой ненатасканый взор упорно этого не видит.
отладки путёвой нет, ну если из кучи бубнов не собрать пхп-тотем.

с ВЕРБОЗОМ и НООП всё было в порядке
просто после перехода в AGI аги возвращался с кодом завершения О, а все отладочные "месседжи" (как сказали бы буржую, а мы православные скажем "сообщения")не выплёвывались.

следующий раз наверное буду ваять на перле, по описанию он объекто-ориентированный язык ди и более высокоуровневый.
gland
Сообщения: 115
Зарегистрирован: 25 янв 2012, 11:07

Re: Когда принято использовать Verbose и NoOp

Сообщение gland »

svd писал(а):а я не умел тогда на пхп писать
Скрипт был создан копипастой? Можно не отвечать. И получается, за 20 дней стали уметь писать на php? ловко, но можно тоже не отвечать
svd писал(а): никакого контроля откуда и к чему обращаюсь.
Это от поверхностных знаний
svd писал(а):следующий раз наверное буду ваять на перле, по описанию он объекто-ориентированный язык ди и более высокоуровневый.
А php не объектно-ориентированный? Насчёт "более высокоуровневый" - как сравнивать жопу с пальцем. Одно - изначально для одного, второе - для другого. Но это холивар
svd
Сообщения: 169
Зарегистрирован: 19 июл 2011, 08:13
Откуда: Красноярск
Контактная информация:

Re: Когда принято использовать Verbose и NoOp

Сообщение svd »

а я пожалуй отвечу:
gland писал(а):
svd писал(а):а я не умел тогда на пхп писать
Скрипт был создан копипастой? Можно не отвечать. И получается, за 20 дней стали уметь писать на php? ловко, но можно тоже не отвечать
svd писал(а):следующий раз наверное буду ваять на перле, по описанию он объекто-ориентированный язык ди и более высокоуровневый.
А php не объектно-ориентированный? Насчёт "более высокоуровневый" - как сравнивать жопу с пальцем. Одно - изначально для одного, второе - для другого. Но это холивар
скрипт не был создан копипастой, ваще не увлекаюсь попытками получить результат от скопированного куска букв... мне за это отвечать, а не бравому "швейку" ...........

svd, первое и последнее. Надеюсь понятно, тут не помойка и не шпана за гаражами.
gland, постарайтесь подбирать другие сравнения и метафоры, ОК? Русский язык богаче, чем мы его используем.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH