Pass jquery variable to php function and run it

Tested this locally and found the issues.

When you reg/enq the JS, you need to localize the script. This is your chance to pass anything from PHP to the script. In this case, you should, at minimum, pass the WP ajax url like this:

    wp_localize_script( 'my_js_library', 'my_local_var', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

More details here:
https://codex.wordpress.org/Function_Reference/wp_localize_script#Usage

In your JS, update the URL param given to the ajax() call to use this value:

url: 'send_reply.php', // wrong
url: my_local_var.ajax_url,  // right

You should also enqueue your script inside a function hooked to wp_enqueue_scripts. You may be doing this and simply didn’t past above. Add this code to functions.php:

add_action( 'wp_enqueue_scripts', 'my_scripts' );

function my_scripts() {
    wp_enqueue_script( 'my_js_library', get_stylesheet_directory_uri() . '/freshdeskreply.js' );
    wp_localize_script( 'my_js_library', 'my_local_var', array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );
}

NOTE: PHP will not be available for execution unless it has been included (to functions.php, etc) or hooked to an action. The OP’s callback and action hooks were in an external PHP file which was not loaded.

EDIT: fixed code formatting from original post.

EDIT: clarified where to add enqueue and localization code.

EDIT: added note to move ajax actions and callback to functions.php