Архивы автора: admin

После обновления WINDOWS 10 перестали работать приложения Фото и Калькулятор

открыть командную строку от имени администратора и ввести

PowerShell -ExecutionPolicy Unrestricted

Потом введите:

$manifest = (Get-AppxPackage Microsoft.WindowsStore).InstallLocation + ‘\AppxManifest.xml’ ; Add-AppxPackage -DisableDevelopmentMode -Register $manifest

Get-AppXPackage -AllUsers | Foreach {Add-AppxPackage -DisableDevelopmentMode -Register “$($_.InstallLocation)\AppXManifest.xml”}

Это переустановить приложения и решит проблему.

Возврат звонка после безусловного перевода в Asterisk

С использованием TRANSFER_CONTEXT

Это, вероятно, самый интересный вариант с возвратом вызова после “слепого” перевода. Зачастую необходимость перевести вызов на другого абонента возникает не только у секретаря. Представьте себе фирму (к примеру, тот же call-центр), в которой осуществляются консалтинговые услуги. При этом множество “секретарей” переводят вызовы на специалистов, специалисты могут переводить вызовы друг на друга, и зачастую нет времени (и желания) перевести вызов, а затем дожидаться на него ответа – а хочется перенаправить вызов на нужного сотрудника, чтобы в случае, если человека нет на месте (или он занят) вызов вернулся обратно автоматически. Таким образом, вызов должен возвращаться не “кому-нибудь”, а именно тому человеку, который его перевел.В этом случае для всех переводимых вызовов настраивается отдельный контекст, в котором они будут обрабатываться (задав значение переменной TRANSFER_CONTEXT). При этом контролируется, был ли ответ на этот переведенный вызов, и при необходимости (используя переменную BLINDTRANSFER) можно вернуть вызов тому абоненту, который осуществлял перевод вызова:

extensions_custom.conf

 [globals]
 TRANSFER_CONTEXT=blind_transfer_mikhed_ringback
 [local_phones]
 exten => _XXX,1,Answer()
 exten => _XXX,n,Dial(SIP/${EXTEN},45,tT)
 exten => _XXX,n,Hangup()
 [blind_transfer_mikhed_ringback]
 exten => _X.,1,NoOp("Blindtransfer: " ${BLINDTRANSFER})
 exten => _X.,n,Set(ExtLength=${LEN(${EXTEN})}).
 ; ${BLINDTRANSFER} - это не оригинальный номер, а оригинальный канал, например:
 ; SIP/1111-433242424242
 exten => _X.,n,Set(OrigNumber=${BLINDTRANSFER:4:${ExtLength}}) 
 ; было :4: поствил :6: и заработало
 ; делаем основной вызов:
 exten => _X.,n,Dial(SIP/${EXTEN},45,tTg)
 ; если он удался, то завершаем вызов, если нет - возвращаемся к тому, кто переводил
 ; вызов:
 exten => _X.,n,GotoIf($["${DIALSTATUS}" = "ANSWER"]?hangup:callback)
 exten => _X.,n(callback),Dial(local/${OrigNumber}@local_phones,45,tT)
 ; Обратите внимание: здесь делается только одна попытка вернуть вызов.
 ; Однако на самом деле к моменту возврата вызова сотрудник может быть уже занят.
 ; Так что имеет смысл делать несколько попыток, или перенаправлять вызовы куда-либо
 ; еще.
 exten => _X.,n(hangup),Hangup().