Вход | Регистрация
Вы здесь: Главная / Форум / Главный форум по Asterisk / Разработка / IVR без Answer - возможно ли?

IVR без Answer - возможно ли?

Сообщений: 1530

Re: IVR без Answer - возможно ли?

switch, ни одного слова по теме, как обычно.

Причем тут оператор? Я попытался втолдычить, в том числе и Вам, что схема мертворожденная!
Никто не сможет гарантировать, что она будет работать для всех клиентов одинаково!
Наоборот, я больше забочусь о клиенте, нежели Вы.
Вы будете издеваться и над собой и над клиентом!
Над собой -- ну может Вам это доставляет удовольствие, тогда конечно.
Но не каждый захочет выслушивать от клиентов все, что они о Вас же будут думать.
Над клиентом, т.к. ему необходимо предоставить одинаково работающую услугу с любого оператора, что не получится.

И если Вы сами этой проблемой не озадачивались, то это еще не означает, что проблема копеечная...

По поводу "дел хулисельных" -- Вы альтруист? Ой ли? Просто пытаетесь маскироваться...

По поводу H323 -- Вы читаете то, на что отвечаете или как? "Проблема" существует как в SIP, так и в H323.
Если Вы о ней не знаете, то не надо всем об этом рассказывать.
Почему в кавычках? Т.к. стандартом не предусмотрена обязательность поддержки, т.е. нельзя гарантировать, что она в любой момент не вылезет. А в данном конкретном случае это как раз и помешает. Или Вы не знаете почему? ;)
http://www.telecomtechnology.net - premium терминация
2010-05-10 16:46

Сообщений: 1530

Re: IVR без Answer - возможно ли?

Я данную схему реализовывал года 2 назад.
Хотел сделать, чтобы проговаривалось приветствие без поднятия трубки, т.е. экономить средства клиента.
Что получилось в итоге.
1. Если проигрывать приветствие при помощи Playback с noanswer, а дальше идти в очередь, то клиент попадает в очередь также без поднятия трубки.
Но не спешите радоваться -- вызов будет прерван по таймауту оператора. Т.е. чуть больше минуты. При этом RTP должен идти только в сторону клиента, соответственно если оператор возьмет трубку, разговора не получится. Но не проверял.
По этой же причине не должен работать DTMF. Оборудование делали не идиоты -- если специально не настроить неправильно, то ничего хорошего не выйдет.
Видимо в Телфине не особо пряморукие работают, я не удивлен.

2. Если перед очередью делать Answer, то вроде бы все замечательно, но опять же не все так здорово.
Испытывал в СПб. С Мегафона все работает замечательно.
С МТС -- либо тишина, а затем сразу MOH из очереди, либо отбой (!) вызова.

swicth, я думал, что Вы все это уже давно проходили...
http://www.telecomtechnology.net - premium терминация
2010-05-10 17:02

Avatara of switch
Откуда: Уфа
Сообщений: 5856

Re: IVR без Answer - возможно ли?

tma, тут уже достаточно сказано, чтоб вам еще что-либо разжевывать
http://www.lynks.ru - Решения телефонии, мини-АТС, VoIP на основе Trixbox и Asterisk
2010-05-10 17:15

Avatara of litnimax
Откуда: Москва
Сообщений: 3421

Re: IVR без Answer - возможно ли?

Грубияны :-)
http://pbxware.ru - все для Asterisk! || Switchvox - сделано на Asterisk! Подробности на http://switchvox.ru
2010-05-10 18:39

Сообщений: 49

Re: IVR без Answer - возможно ли?

Всем привет!

Как обещал - выкладываю фрагмент лога, описывающего ситуацию. Что происходит: с телфиновского номера 00031194 происходит вызов на телфиновский номер 00015678. Вызываемая сторона отвечает в режиме Progress, воспроизводит в линию приветсвие IVR Wellcome. Далее вызывающий абонент вводит цифру "1" в тоновом режиме, что приводит к инициации звонка на внутренний номер PBX "2". Канал по-прежнему в доответном режиме. Далее внутренний номер отвечает, отправив Answer. Происходит 5 секундный демо-разговор, после чего стороны завершают вызов.

[May 10 21:33:54] VERBOSE[1280] netsock.c: == Using SIP RTP TOS bits 184
[May 10 21:33:54] VERBOSE[1280] netsock.c: == Using SIP RTP CoS mark 5
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [00015678@from-trunk-sip-Telphin:1] Set("SIP/Telphin-00000006", "GROUP()=OUT_1") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [00015678@from-trunk-sip-Telphin:2] Goto("SIP/Telphin-00000006", "from-trunk,00015678,1") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Goto (from-trunk,00015678,1)
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [00015678@from-trunk:1] Set("SIP/Telphin-00000006", "__FROM_DID=00015678") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [00015678@from-trunk:2] ExecIf("SIP/Telphin-00000006", "0 ?Set(CALLERID(name)=00031194)") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [00015678@from-trunk:3] Set("SIP/Telphin-00000006", "__CALLINGPRES_SV=allowed_not_screened") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [00015678@from-trunk:4] Set("SIP/Telphin-00000006", "CALLERPRES()=allowed_not_screened") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [00015678@from-trunk:5] Goto("SIP/Telphin-00000006", "ivr-2,s,1") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Goto (ivr-2,s,1)
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:1] Set("SIP/Telphin-00000006", "MSG=custom/wellcome") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:2] Set("SIP/Telphin-00000006", "LOOPCOUNT=0") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:3] Set("SIP/Telphin-00000006", "__DIR-CONTEXT=default") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:4] Set("SIP/Telphin-00000006", "_IVR_CONTEXT_ivr-2=") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:5] Set("SIP/Telphin-00000006", "_IVR_CONTEXT=ivr-2") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:6] GotoIf("SIP/Telphin-00000006", "0?begin") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:7] Progress("SIP/Telphin-00000006", "") in new stack
[May 10 21:33:54] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:8] Wait("SIP/Telphin-00000006", "1") in new stack
[May 10 21:33:55] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:9] Set("SIP/Telphin-00000006", "TIMEOUT(digit)=3") in new stack
[May 10 21:33:55] VERBOSE[1784] func_timeout.c: -- Digit timeout set to 3.000
[May 10 21:33:55] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:10] Set("SIP/Telphin-00000006", "TIMEOUT(response)=10") in new stack
[May 10 21:33:55] VERBOSE[1784] func_timeout.c: -- Response timeout set to 10.000
[May 10 21:33:55] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:11] Set("SIP/Telphin-00000006", "__IVR_RETVM=") in new stack
[May 10 21:33:55] VERBOSE[1784] pbx.c: -- Executing [s@ivr-2:12] ExecIf("SIP/Telphin-00000006", "1?Background(custom/wellcome,noanswer)") in new stack
[May 10 21:33:55] VERBOSE[1784] file.c: -- <SIP/Telphin-00000006> Playing 'custom/wellcome.slin' (language 'en')
[May 10 21:33:58] WARNING[1784] func_db.c: DB_DELETE requires an argument, DB_DELETE(<family>/<key>)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [1@ivr-2:1] NoOp("SIP/Telphin-00000006", "Deleting: ") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [1@ivr-2:2] Set("SIP/Telphin-00000006", "__NODEST=") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [1@ivr-2:3] PlayTones("SIP/Telphin-00000006", "ring") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [1@ivr-2:4] Goto("SIP/Telphin-00000006", "from-did-direct,2,1") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Goto (from-did-direct,2,1)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [2@from-did-direct:1] Macro("SIP/Telphin-00000006", "exten-vm,novm,2") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:1] Macro("SIP/Telphin-00000006", "user-callerid,") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:1] Set("SIP/Telphin-00000006", "AMPUSER=00031194") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:2] GotoIf("SIP/Telphin-00000006", "0?report") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:3] ExecIf("SIP/Telphin-00000006", "1?Set(REALCALLERIDNUM=00031194)") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:4] Set("SIP/Telphin-00000006", "AMPUSER=") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:5] Set("SIP/Telphin-00000006", "AMPUSERCIDNAME=") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:6] GotoIf("SIP/Telphin-00000006", "1?report") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Goto (macro-user-callerid,s,9)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:9] GotoIf("SIP/Telphin-00000006", "0?continue") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:10] Set("SIP/Telphin-00000006", "__TTL=64") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:11] GotoIf("SIP/Telphin-00000006", "1?continue") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Goto (macro-user-callerid,s,18)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-user-callerid:18] NoOp("SIP/Telphin-00000006", "Using CallerID "GDI31194" <00031194>") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:2] Set("SIP/Telphin-00000006", "RingGroupMethod=none") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:3] Set("SIP/Telphin-00000006", "VMBOX=novm") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:4] Set("SIP/Telphin-00000006", "EXTTOCALL=2") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:5] Set("SIP/Telphin-00000006", "CFUEXT=") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:6] Set("SIP/Telphin-00000006", "CFBEXT=") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:7] Set("SIP/Telphin-00000006", "RT=""") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:8] Macro("SIP/Telphin-00000006", "record-enable,2,IN") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-record-enable:1] GotoIf("SIP/Telphin-00000006", "1?check") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Goto (macro-record-enable,s,4)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-record-enable:4] ExecIf("SIP/Telphin-00000006", "0?MacroExit()") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-record-enable:5] GotoIf("SIP/Telphin-00000006", "0?Group:OUT") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Goto (macro-record-enable,s,16)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-record-enable:16] GotoIf("SIP/Telphin-00000006", "1?IN") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Goto (macro-record-enable,s,21)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-record-enable:21] ExecIf("SIP/Telphin-00000006", "1?MacroExit()") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-exten-vm:9] Macro("SIP/Telphin-00000006", "dial,"",tr,2") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-dial:1] GotoIf("SIP/Telphin-00000006", "1?dial") in new stack
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Goto (macro-dial,s,3)
[May 10 21:33:58] VERBOSE[1784] pbx.c: -- Executing [s@macro-dial:3] AGI("SIP/Telphin-00000006", "dialparties.agi") in new stack
[May 10 21:33:58] VERBOSE[1784] res_agi.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/dialparties.agi
[May 10 21:33:59] VERBOSE[1784] res_agi.c: dialparties.agi: Starting New Dialparties.agi
[May 10 21:33:59] VERBOSE[1784] res_agi.c: dialparties.agi: Caller ID name is 'GDI31194' number is '00031194'
[May 10 21:33:59] VERBOSE[1784] res_agi.c: dialparties.agi: Methodology of ring is 'none'
[May 10 21:33:59] VERBOSE[1784] res_agi.c: -- dialparties.agi: Added extension 2 to extension map
[May 10 21:33:59] VERBOSE[1784] res_agi.c: -- dialparties.agi: Extension 2 cf is disabled
[May 10 21:33:59] VERBOSE[1784] res_agi.c: -- dialparties.agi: Extension 2 do not disturb is disabled
[May 10 21:33:59] VERBOSE[1784] res_agi.c: dialparties.agi: EXTENSION_STATE: 0 (NOT_INUSE)
[May 10 21:33:59] VERBOSE[1784] res_agi.c: -- dialparties.agi: dbset CALLTRACE/2 to 00031194
[May 10 21:33:59] VERBOSE[1784] res_agi.c: -- dialparties.agi: Filtered ARG3: 2
[May 10 21:33:59] VERBOSE[1784] res_agi.c: -- <SIP/Telphin-00000006>AGI Script dialparties.agi completed, returning 0
[May 10 21:33:59] VERBOSE[1784] pbx.c: -- Executing [s@macro-dial:7] Dial("SIP/Telphin-00000006", "SIP/2,"",tr") in new stack
[May 10 21:33:59] VERBOSE[1784] netsock.c: == Using SIP RTP TOS bits 184
[May 10 21:33:59] VERBOSE[1784] netsock.c: == Using SIP RTP CoS mark 5
[May 10 21:33:59] VERBOSE[1784] app_dial.c: -- Called 2
[May 10 21:33:59] VERBOSE[1784] app_dial.c: -- SIP/2-00000007 is ringing
[May 10 21:34:01] VERBOSE[1784] app_dial.c: -- SIP/2-00000007 answered SIP/Telphin-00000006
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Executing [h@macro-dial:1] Macro("SIP/Telphin-00000006", "hangupcall") in new stack
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Executing [s@macro-hangupcall:1] GotoIf("SIP/Telphin-00000006", "1?skiprg") in new stack
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Goto (macro-hangupcall,s,4)
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Executing [s@macro-hangupcall:4] GotoIf("SIP/Telphin-00000006", "1?skipblkvm") in new stack
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Goto (macro-hangupcall,s,7)
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Executing [s@macro-hangupcall:7] GotoIf("SIP/Telphin-00000006", "1?theend") in new stack
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Goto (macro-hangupcall,s,9)
[May 10 21:34:07] VERBOSE[1784] pbx.c: -- Executing [s@macro-hangupcall:9] Hangup("SIP/Telphin-00000006", "") in new stack
[May 10 21:34:07] VERBOSE[1784] app_macro.c: == Spawn extension (macro-hangupcall, s, 9) exited non-zero on 'SIP/Telphin-00000006' in macro 'hangupcall'
[May 10 21:34:07] VERBOSE[1784] features.c: == Spawn extension (macro-dial, h, 1) exited non-zero on 'SIP/Telphin-00000006'
[May 10 21:34:07] VERBOSE[1784] app_macro.c: == Spawn extension (macro-dial, s, 7) exited non-zero on 'SIP/Telphin-00000006' in macro 'dial'
[May 10 21:34:07] VERBOSE[1784] app_macro.c: == Spawn extension (macro-exten-vm, s, 9) exited non-zero on 'SIP/Telphin-00000006' in macro 'exten-vm'
[May 10 21:34:07] VERBOSE[1784] pbx.c: == Spawn extension (from-did-direct, 2, 1) exited non-zero on 'SIP/Telphin-00000006'



-------

Кстати, Ringing можно заменить Proress в моём примере выше...
2010-05-10 21:41

Сообщений: 1530

Re: IVR без Answer - возможно ли?

newuser:

Что происходит: с телфиновского номера 00031194 происходит вызов на телфиновский номер 00015678.
Это можно и в пределах одного asterisk'а смоделировать.
Опыт лучше ставить при звонках с PSTN...

newuser:

Канал по-прежнему в доответном режиме.


В предответном.

Правильнее выкладывать sip debug.
http://www.telecomtechnology.net - premium терминация
2010-05-10 23:02

Сообщений: 49

Re: IVR без Answer - возможно ли?

tma, думаешь для малого офиса эта фича не катит?

Немного покоментю :)

"1. Если проигрывать приветствие при помощи Playback с noanswer, а дальше идти в очередь, то клиент попадает в очередь также без поднятия трубки" - может сделать в очереди к концу тайм-аута оператора переадресацию на сервисное ivr - типа "Уважаемый абонент, все представители компании всё ещё заняты. Вы можете оставаться на линии, или нажать 1, чтобы оставить голосовое сообщение. Кроме того, можете перезвонить позднее или оставаться на линии. Но в этом случае ваш вызов начнёт тарифицироваться." Для небольшой конторы - вполне себе ничего думается...

"2. При этом RTP должен идти только в сторону клиента, соответственно если оператор возьмет трубку, разговора не получится". Когда оператор снимает трубку - по меньшей мере мои хардфоны (Линксисы) отправляют Answer - соответственно, происходит соединение.

"3. Испытывал в СПб. С Мегафона все работает замечательно. С МТС -- либо тишина, а затем сразу MOH из очереди, либо отбой (!) вызова". Грабли, как они есть - оператор становится буфером между сотовым абонентом и стационарным.

Кстати, интересно, как у сотовых операторов организованы голосовые сообщения типа "телефон абонента выключен или находится вне зоны действия сети". Там тоже предответный режим используется? А ведь там не зависимо от того, какой оператор, сообщение всё равно проходит.
2010-05-11 00:03

Сообщений: 49

Re: IVR без Answer - возможно ли?

Такая мысль - тут наверно самый верный ход - договариваться с оператором о корректной поддержке предответного состояния. Судя по откликам - с прямыми номерами всё же что-то намутить можно. Сложно, но можно.

Наверно, тут нужно что-то мутить на уровне просьбы к оператору о предоставлении нового вида услуги - "поддержка предответного состояния"...
2010-05-11 00:21

Сообщений: 49

Re: IVR без Answer - возможно ли?

Ещё один вопросик tma - не подскажешь, как в сети Interzet организована услуга "музыка вместо гудков"? Принцип хотябы тот же? Или это коммерческая информация? Извини, если вопрос не корректный...
2010-05-11 00:24

Сообщений: 1530

Re: IVR без Answer - возможно ли?

newuser:

tma, думаешь для малого офиса эта фича не катит?
Я понаступал на грабли и решил о них сказать. Не все это поняли. ;)

newuser:

Но в этом случае ваш вызов начнёт тарифицироваться.


Нельзя надеяться, что это будет работать со всеми операторами.
Вначале я по CallerID либо отвечал сразу, либо работал в предответном режиме.
Потом плюнул и сделать одинаково для всех -- ответ сразу, пауза, а затем приветствие.

newuser:

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


В принципе Вы наверное здесь правы.
Но Вы не сможете все так точно рассчитать -- очень легко где-нибудь проколоться, а постараете и Вы и Ваш клиент.

newuser:

Грабли, как они есть - оператор становится буфером между сотовым абонентом и стационарным.


Нет, Вы не правы. Вы не сможете договориться со всеми операторами, как бы Вы не старались.

newuser:

Там тоже предответный режим используется? А ведь там не зависимо от того, какой оператор, сообщение всё равно проходит.


Во-первых не все операторы проговаривают данные сообщения в предответном состоянии.
К примеру Теле2 СПб вначале давали ANSWER, но сейчас дают в предответном.
Либо они дают ANSWER для других сетей -- не помню.
В Германии некоторые операторы (Водафон, если не ошибаюсь) сообщения дают после ANSWER.
Так что не надо думать, что только в России все так плохо.

ANSWER -- это их заработок!

Оператор вообще может не проигрывать никаких сообщений, он всегда возвращает соответствующий q931 код.
По этому коду Вы сами можете сгенерировать необходимое сообщение, но если при этом от оператора все-таки проходит
сообщение в предответном состоянии, то его должны пропустить.

Скажу так -- Совинтел в СПб проигрывает свое сообщение. Вестколл вообще никогда не пропускает сообщения в предответном состоянии от операторов. При этом у Вестколла не работает предответное состояние с половиной операторов (МТС, СЗТ и др.). У Петерстара работает со всеми операторами, но таймаут где-то через 1,5 минуты.
http://www.telecomtechnology.net - premium терминация
2010-05-11 10:45

Добавить страницу в закладки:  Delicious Google Slashdot Yahoo Yandex.ru Reddit Digg Technorati Bobrdobr.ru Newsland.ru Smi2.ru Rumarkz.ru Vaau.ru Memori.ru Rucity.com Moemesto.ru News2.ru Mister-Wong.ru Myscoop.ru 100zakladok.ru