@@ -25,7 +25,7 @@ public function execute(RequestInterface $request): PromiseInterface
2525
2626 $ response = new Response ();
2727
28- if ($ request ->action !== ActionEnum::Redirect ) {
28+ if (! isset ( $ request ->action ) ) {
2929 $ response ->successful = false ;
3030
3131 return resolve ($ response );
@@ -48,17 +48,27 @@ public function execute(RequestInterface $request): PromiseInterface
4848 ),
4949 ])
5050 ->then (function (array $ args ) use ($ request ): PromiseInterface {
51- $ destNumber = $ args [$ this ->app ->config ->appPrefix . '_destination_number ' ]->getBody ();
51+ $ prefixedDestNumber = $ args [$ this ->app ->config ->appPrefix . '_destination_number ' ];
52+
53+ assert ($ prefixedDestNumber instanceof ESL \Response \ApiResponse);
54+
55+ $ destNumber = $ prefixedDestNumber ->getBody ();
56+
57+ if (is_string ($ destNumber ) && (($ destNumber === '_undef_ ' ) || (strpos ($ destNumber , '-ERR ' ) === 0 ))) {
58+ assert ($ args ['destination_number ' ] instanceof ESL \Response \ApiResponse);
5259
53- if (($ destNumber === '_undef_ ' ) || (strpos ($ destNumber , '-ERR ' ) === 0 )) {
5460 $ destNumber = $ args ['destination_number ' ]->getBody ();
5561
62+ assert (is_string ($ destNumber ));
63+
5664 return $ request ->channel ->core ->client ->api (
57- (new ESL \Request \Api ())->setParameters ("uuid_setvar {$ request ->channel ->uuid } {$ this ->app ->config ->appPrefix }_destination_number " . $ destNumber )
65+ (new ESL \Request \Api ())->setParameters (
66+ "uuid_setvar {$ request ->channel ->uuid } {$ this ->app ->config ->appPrefix }_destination_number {$ destNumber }"
67+ )
5868 );
5969 }
6070
61- return resolve ();
71+ return resolve (null );
6272 })
6373 ->then (function () use ($ request ): PromiseInterface {
6474 $ request ->channel ->transferInProgress = true ;
0 commit comments