I'm having some difficulty with Freeswitch/Erlang processing. An operator dials in and registers by entering a PIN code, which triggers an Erlang event handler callback and puts the call into park. This works. A customer calls in, which triggers another Erlang event handler callback and puts the call into park. That works, too. Another thread of Erlang checks the operator and customer queues, and uses uuid_bridge to join the two calls together. That also works. What _doesn't_ work is that when the customer hangs up, I want the operator A leg to go back into a park state, and it's hanging up instead. One suspicion I have is that because there is no dialplan associated with the call (it's controlled by Erlang), there is no dialplan to "continue" by setting hangup_after_bridge=false. Either that or maybe I need to set the variables on the new UUID returned by the uuid_bridge command (though I thought that UUID was just the UUID assigned to the command, not a new call identifier.) BTW, "pbx" is just an OTP rewrite of pieces of the standard "freeswitch.erl" code. pbx:api( uuid_setvar, Operator#pbx_operator_registry.operator_uuid ++ " hangup_after_bridge false" ), pbx:api( uuid_setvar, Operator#pbx_operator_registry.operator_uuid ++ " park_after_bridge true" ), BridgeResult = pbx:api( uuid_bridge, Operator#pbx_operator_registry.operator_uuid ++ " " ++ Customer#pbx_cust_queue.uuid ), -- Mark Sobkow Senior Developer MarkeTel Multi-Line Dialing Systems LTD. 428 Victoria Ave Regina, SK S4N-0P6 Toll-Free: 800-289-8616-X533 Local: 306-359-6893-X533 Fax: 306-359-6879 Email: m.sobkow@marketelsystems.com Web: http://www.marketelsystems.com