Parking BIG problem!

Hello!
When i parkin call, i configured in Freepbx, to prepend CID or paked call with extension number.
But it is not work.
When i looked in CLI i saw this:
Executing [999,from-internal,PARK/default@fop2-park:1] Set("SIP/dsi-00000897", "ARRAY(RETURN_EXTENSION,RETURN_CONTEXT,PARKBUTTON)=999,from-internal,PARK/default,,") in new stack
[2017-01-13 17:28:32] WARNING[1782][C-000004b6]: pbx_variables.c:749 pbx_substitute_variables_helper_full: Error in extension logic (missing ']')
[2017-01-13 17:28:32] WARNING[1782][C-000004b6]: ast_expr2.fl:470 ast_yyerror: ast_yyerror():  syntax error: syntax error, unexpected $end, expecting '-' or '!' or '(' or '<token>'; Input:
"PARK/default" = "PARK/default"?
                                ^
[2017-01-13 17:28:32] WARNING[1782][C-000004b6]: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
    -- Executing [999,from-internal,PARK/default@fop2-park:2] GotoIf("SIP/dsi-00000897", "0") in new stack
[2017-01-13 17:28:32] WARNING[1782][C-000004b6]: pbx_variables.c:749 pbx_substitute_variables_helper_full: Error in extension logic (missing ']')
[2017-01-13 17:28:32] WARNING[1782][C-000004b6]: ast_expr2.fl:470 ast_yyerror: ast_yyerror():  syntax error: syntax error, unexpected $end, expecting '-' or '!' or '(' or '<token>'; Input:
"PARK/default" = ""?
                    ^
[2017-01-13 17:28:32] WARNING[1782][C-000004b6]: ast_expr2.fl:474 ast_yyerror: If you have questions, please refer to https://wiki.asterisk.org/wiki/display/AST/Channel+Variables
    -- Executing [999,from-internal,PARK/default@fop2-park:3] GotoIf("Sfop2-parkIP/dsi-00000897", "0") in new stack
    -- Executing [999,from-internal,PARK/default@fop2-park:4] Set("SIP/dsi-00000897", "PARKINGLOT=default") in new stack
    -- Executing [999,from-internal,PARK/default@fop2-park:5] Park("SIP/dsi-00000897", ",sc(from-internal,999,1)") in new stack
    -- Parking 'SIP/dsi-00000897' in 'default' at space 71
    -- Channel SIP/dsi-00000897 joined 'holding_bridge' parking-bridge <a326fe5f-fa2a-4f66-9069-b618cfe057b5>
[2017-01-13 17:28:32] WARNING[1782][C-000004b6]: res_musiconhold.c:884 _get_mohbyname: Music on Hold class 'igkb8' not found in memory. Verify your configuration.
    -- Started music on hold, class 'igkb8withcommercial', on channel 'SIP/dsi-00000897'
It is look like problem in "fop2-park" context...

Comments

  • Well, i fix context by adding "]" in fop2_override...
    Was:
    [fop2-park]
    exten => _X.,1,Set(ARRAY(RETURN_EXTENSION,RETURN_CONTEXT,PARKBUTTON)=${CUT(EXTEN,:,1)},${CUT(EXTEN,:,2)},${CUT(EXTEN,:,3)})
    exten => _X.,2,GotoIf($["${PARKBUTTON}" = "PARK/default"?5)
    exten => _X.,3,GotoIf($["${PARKBUTTON}" = ""?5)
    exten => _X.,4,Set(PARKINGLOT=${PARKBUTTON:5})
    exten => _X.,5,Park(,sc(${RETURN_CONTEXT},${RETURN_EXTENSION},1))
    
    Fixed
    [fop2-park]
    exten => _X.,1,Set(ARRAY(RETURN_EXTENSION,RETURN_CONTEXT,PARKBUTTON)=${CUT(EXTEN,:,1)},${CUT(EXTEN,:,2)},${CUT(EXTEN,:,3)})
    exten => _X.,2,GotoIf($["${PARKBUTTON}" = "PARK/default"]?5)
    exten => _X.,3,GotoIf($["${PARKBUTTON}" = ""]?5)
    exten => _X.,4,Set(PARKINGLOT=${PARKBUTTON:5})
    exten => _X.,5,Park(,sc(${RETURN_CONTEXT},${RETURN_EXTENSION},1))
    
  • But its not solve my problem with CID prepending(((
  • What is your problem with cid prepending?
  • It isn work :-(
  • What do you mean by cid prepending? Sorry but I am lost. What does it have to do with parking?
  • edited January 2017
    50fe4dcad3fa.png
  • I trying to understand, it is dont work because of fop2_override, or beacose freepbx bug(
  • When i parking a call with sip client by transfer to number *88 it is transfers with CID prepending. It is a proper behavior.
    When i transfer throu fop2, its just park without CID prepend.
  • That CID prepend you post is a dialplan feature of FreePBX, as such, you won't find that on native FOP2 as FOP2 will use just regular Asterisk applications and no special dialplan hacks. However, you can very well look at the parking dialplan generated by freepbx when that callerid prepend is configured, and model/replicate/mimic the fop2-park context to behave in a similar way. It is up to you to model contexts with your backend configurator, as PARK does not have feature to manipulate callerid in a native form.

    So, the same way you found a typo, you can very well review the parking contexts on FreePBX and modify the fop2-park context to change callerid on call return, perhaps some variables are set, etc.. I have no idea, and it is not the duty/task of FOP2 to know every possible backend dialplan changes over time with custom features.

    If you find the way to mimic behaviour, then I can document that on members.asternic.biz or FAQ... or perhaps update the generate_override_contexts.pl script.

    Best regards,

  • you can very well look at the parking dialplan generated by freepbx
    Already did it, and it is veeeeeeery confusing(((((
  • Well, you chose FreePBX., you have to live with it. :) It is not a FOP2 issue. If you catch me on the live help and I happen to have time, we can try to look at the dialplan together. (Unfortunately, lately I really lack time, but you might want to try anyways).
    Best regards,
  • you chose FreePBX
    It's choise of my employer :-(
    you have to live with it
    Is it life? I don't think so! :-D
    It is not a FOP2 issue
    Agree!
    If you catch me on the live
    Thank you, if i could not resolve the problem by myself, i will! :-)
  • edited January 2017
    Well, i am stuppid))))
    I realise that the problem not in the CID prepend or else...
    Problem is that FOP2 is not display who has parked the call!
    And it is only if i parking from the fop2!
    When i park a call by feauture code- it is normal....
    FOP2 Park like this:
    a3f26337f954.png
    Feauturecode psrk like this:
    8299b77dfe77.png
    [fop2-park]
    exten => _X.,1,Set(ARRAY(RETURN_EXTENSION,RETURN_CONTEXT,PARKBUTTON)=${CUT(EXTEN,:,1)},${CUT(EXTEN,:,2)},${CUT(EXTEN,:,3)})
    exten => _X.,2,GotoIf($["${PARKBUTTON}" = "PARK/default"]?5)
    exten => _X.,3,GotoIf($["${PARKBUTTON}" = ""]?5)
    exten => _X.,4,Set(PARKINGLOT=${PARKBUTTON:5})
    exten => _X.,5,Park(,sc(${RETURN_CONTEXT},${RETURN_EXTENSION},1))
    
  • But is there a way to see who parked call?
  • I will make tests with asterisk 13 when I have time with parking, as it should work fine. Today is now too late and my internet connection is down, using my phone to tether.
  • edited January 2017
    I tryed to park call by 'park()' function in dialplan. I cant get it work to show who parked the call. So I think, its asterisk Park() function issue...
  • I tryed to park call by 'park()' function in dialplan. I cant get it work to show who parked the call. So I think, its asterisk Park() function issue...
    I tried it before opening this theme. But! When i park call with feature code *88 or transfer call through sip to park lot client? it's work perfect.
  • Well, i have downgraded "asterisk" to version 11.25.1 and everything fine now!!!
  • edited January 2017
    I have downgrade asterisk to version 11.25.1. For now, When call came to queue and agent answered the call, when parking (through fop2) a call happened this:
    -- Executing [999,from-internal,PARK/default@fop2-park:5] Park("Local/999@from-queue-0000000f;2", ",from-internal,999,1,s") in new stack
    

    If call not came to queue (intercepted from trunk by agent), when parking (through fop2) a call happened this:
    -- Executing [999,from-internal,PARK/default@fop2-park:5] Park("SIP/dsi-00000008", ",from-internal,999,1,s") in new stack
    
    And in this case, Park works correct.

    Differense is what fop2 trying to park:

    Local/999@from-queue-0000000f;2

    or

    SIP/dsi-00000008
  • For now i use CALLERID(name) to identify whos park a call, but, i think, it is not a good solution
    [fop2-park]
    exten => _X.,1,Set(ARRAY(RETURN_EXTENSION,RETURN_CONTEXT,PARKBUTTON)=${CUT(EXTEN,:,1)},${CUT(EXTEN,:,2)},${CUT(EXTEN,:,3)})
    exten => _X.,2,GotoIf($["${PARKBUTTON}" = "PARK/default"]?5)
    exten => _X.,3,GotoIf($["${PARKBUTTON}" = ""]?5)
    exten => _X.,4,Set(PARKINGLOT=${PARKBUTTON:5})
    exten => _X.,5,Set(CALLERID(name)=______________${RETURN_EXTENSION})
    exten => _X.,6,Park(,${RETURN_CONTEXT},${RETURN_EXTENSION},1,s)
    
Sign In or Register to comment.