Switched to new grpc_call_invoke API
diff --git a/src/php/ext/grpc/call.c b/src/php/ext/grpc/call.c
index c01af34..b171c9c 100644
--- a/src/php/ext/grpc/call.c
+++ b/src/php/ext/grpc/call.c
@@ -224,27 +224,25 @@
 /**
  * Invoke the RPC. Starts sending metadata and request headers over the wire
  * @param CompletionQueue $queue The completion queue to use with this call
- * @param long $invoke_accepted_tag The tag to associate with this invocation
  * @param long $metadata_tag The tag to associate with returned metadata
  * @param long $finished_tag The tag to associate with the finished event
  * @param long $flags A bitwise combination of the Grpc\WRITE_* constants
  * (optional)
  * @return Void
  */
-PHP_METHOD(Call, start_invoke) {
+PHP_METHOD(Call, invoke) {
   grpc_call_error error_code;
   long tag1;
   long tag2;
-  long tag3;
   zval *queue_obj;
   long flags = 0;
-  /* "Olll|l" == 1 Object, 3 mandatory longs, 1 optional long */
-  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Olll|l", &queue_obj,
-                            grpc_ce_completion_queue, &tag1, &tag2, &tag3,
+  /* "Oll|l" == 1 Object, 3 mandatory longs, 1 optional long */
+  if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "Oll|l", &queue_obj,
+                            grpc_ce_completion_queue, &tag1, &tag2,
                             &flags) == FAILURE) {
     zend_throw_exception(
         spl_ce_InvalidArgumentException,
-        "start_invoke needs a CompletionQueue, 3 longs, and an optional long",
+        "invoke needs a CompletionQueue, 2 longs, and an optional long",
         1 TSRMLS_CC);
     return;
   }
@@ -254,10 +252,9 @@
   wrapped_grpc_completion_queue *queue =
       (wrapped_grpc_completion_queue *)zend_object_store_get_object(
           queue_obj TSRMLS_CC);
-  error_code =
-      grpc_call_start_invoke(call->wrapped, queue->wrapped, (void *)tag1,
-                             (void *)tag2, (void *)tag3, (gpr_uint32)flags);
-  MAYBE_THROW_CALL_ERROR(start_invoke, error_code);
+  error_code = grpc_call_invoke(call->wrapped, queue->wrapped, (void *)tag1,
+                                (void *)tag2, (gpr_uint32)flags);
+  MAYBE_THROW_CALL_ERROR(invoke, error_code);
 }
 
 /**
@@ -423,16 +420,15 @@
 
 static zend_function_entry call_methods[] = {
     PHP_ME(Call, __construct, NULL, ZEND_ACC_PUBLIC | ZEND_ACC_CTOR)
-        PHP_ME(Call, server_accept, NULL, ZEND_ACC_PUBLIC)
-            PHP_ME(Call, server_end_initial_metadata, NULL, ZEND_ACC_PUBLIC)
-                PHP_ME(Call, add_metadata, NULL, ZEND_ACC_PUBLIC) PHP_ME(
-                    Call, cancel, NULL, ZEND_ACC_PUBLIC)
-                    PHP_ME(Call, start_invoke, NULL, ZEND_ACC_PUBLIC) PHP_ME(
-                        Call, start_read, NULL, ZEND_ACC_PUBLIC)
-                        PHP_ME(Call, start_write, NULL, ZEND_ACC_PUBLIC) PHP_ME(
-                            Call, start_write_status, NULL, ZEND_ACC_PUBLIC)
-                            PHP_ME(Call, writes_done, NULL, ZEND_ACC_PUBLIC)
-                                PHP_FE_END};
+    PHP_ME(Call, server_accept, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, server_end_initial_metadata, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, add_metadata, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, cancel, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, invoke, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, start_read, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, start_write, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, start_write_status, NULL, ZEND_ACC_PUBLIC)
+    PHP_ME(Call, writes_done, NULL, ZEND_ACC_PUBLIC) PHP_FE_END};
 
 void grpc_init_call(TSRMLS_D) {
   zend_class_entry ce;
diff --git a/src/php/ext/grpc/php_grpc.c b/src/php/ext/grpc/php_grpc.c
index c104229..492ac06 100644
--- a/src/php/ext/grpc/php_grpc.c
+++ b/src/php/ext/grpc/php_grpc.c
@@ -33,7 +33,8 @@
 #if ZEND_MODULE_API_NO >= 20010901
     STANDARD_MODULE_HEADER,
 #endif
-    "grpc", grpc_functions, PHP_MINIT(grpc), PHP_MSHUTDOWN(grpc), NULL, NULL,
+    "grpc",                    grpc_functions, PHP_MINIT(grpc),
+    PHP_MSHUTDOWN(grpc),       NULL,           NULL,
     PHP_MINFO(grpc),
 #if ZEND_MODULE_API_NO >= 20010901
     PHP_GRPC_VERSION,
@@ -106,11 +107,9 @@
   /* Register completion type constants */
   REGISTER_LONG_CONSTANT("Grpc\\QUEUE_SHUTDOWN", GRPC_QUEUE_SHUTDOWN, CONST_CS);
   REGISTER_LONG_CONSTANT("Grpc\\READ", GRPC_READ, CONST_CS);
-  REGISTER_LONG_CONSTANT("Grpc\\INVOKE_ACCEPTED", GRPC_INVOKE_ACCEPTED,
-                         CONST_CS);
-  REGISTER_LONG_CONSTANT("Grpc\\WRITE_ACCEPTED", GRPC_WRITE_ACCEPTED, CONST_CS);
   REGISTER_LONG_CONSTANT("Grpc\\FINISH_ACCEPTED", GRPC_FINISH_ACCEPTED,
                          CONST_CS);
+  REGISTER_LONG_CONSTANT("Grpc\\WRITE_ACCEPTED", GRPC_WRITE_ACCEPTED, CONST_CS);
   REGISTER_LONG_CONSTANT("Grpc\\CLIENT_METADATA_READ",
                          GRPC_CLIENT_METADATA_READ, CONST_CS);
   REGISTER_LONG_CONSTANT("Grpc\\FINISHED", GRPC_FINISHED, CONST_CS);
diff --git a/src/php/lib/Grpc/ActiveCall.php b/src/php/lib/Grpc/ActiveCall.php
index aa66dbb..836a4b0 100755
--- a/src/php/lib/Grpc/ActiveCall.php
+++ b/src/php/lib/Grpc/ActiveCall.php
@@ -29,11 +29,8 @@
 
     // Invoke the call.
     $this->call->start_invoke($this->completion_queue,
-                              INVOKE_ACCEPTED,
                               CLIENT_METADATA_READ,
                               FINISHED, 0);
-    $this->completion_queue->pluck(INVOKE_ACCEPTED,
-                                   Timeval::inf_future());
     $metadata_event = $this->completion_queue->pluck(CLIENT_METADATA_READ,
                                                      Timeval::inf_future());
     $this->metadata = $metadata_event->data;
diff --git a/src/php/tests/unit_tests/CallTest.php b/src/php/tests/unit_tests/CallTest.php
index 253052a..795831c 100755
--- a/src/php/tests/unit_tests/CallTest.php
+++ b/src/php/tests/unit_tests/CallTest.php
@@ -19,10 +19,10 @@
   /**
    * @expectedException LogicException
    * @expectedExceptionCode Grpc\CALL_ERROR_INVALID_FLAGS
-   * @expectedExceptionMessage start_invoke
+   * @expectedExceptionMessage invoke
    */
-  public function testStartInvokeRejectsBadFlags() {
-    $this->call->start_invoke($this->cq, 0, 0, 0, 0xDEADBEEF);
+  public function testInvokeRejectsBadFlags() {
+    $this->call->invoke($this->cq, 0, 0, 0xDEADBEEF);
   }
 
   /**
diff --git a/src/php/tests/unit_tests/EndToEndTest.php b/src/php/tests/unit_tests/EndToEndTest.php
index 3818f95..78c5e9f 100755
--- a/src/php/tests/unit_tests/EndToEndTest.php
+++ b/src/php/tests/unit_tests/EndToEndTest.php
@@ -25,18 +25,12 @@
                           $deadline);
     $tag = 1;
     $this->assertEquals(Grpc\CALL_OK,
-                        $call->start_invoke($this->client_queue,
-                                            $tag,
-                                            $tag,
-                                            $tag));
+                        $call->invoke($this->client_queue,
+                                      $tag,
+                                      $tag));
 
     $server_tag = 2;
 
-    // the client invocation was accepted
-    $event = $this->client_queue->next($deadline);
-    $this->assertNotNull($event);
-    $this->assertEquals(Grpc\INVOKE_ACCEPTED, $event->type);
-
     $call->writes_done($tag);
     $event = $this->client_queue->next($deadline);
     $this->assertNotNull($event);
@@ -103,18 +97,12 @@
                           $deadline);
     $tag = 1;
     $this->assertEquals(Grpc\CALL_OK,
-                        $call->start_invoke($this->client_queue,
-                                            $tag,
-                                            $tag,
-                                            $tag));
+                        $call->invoke($this->client_queue,
+                                      $tag,
+                                      $tag));
 
     $server_tag = 2;
 
-    // the client invocation was accepted
-    $event = $this->client_queue->next($deadline);
-    $this->assertNotNull($event);
-    $this->assertEquals(Grpc\INVOKE_ACCEPTED, $event->type);
-
     // the client writes
     $call->start_write($req_text, $tag);
     $event = $this->client_queue->next($deadline);
diff --git a/src/php/tests/unit_tests/SecureEndToEndTest.php b/src/php/tests/unit_tests/SecureEndToEndTest.php
index c562a82..7c3ad8a 100755
--- a/src/php/tests/unit_tests/SecureEndToEndTest.php
+++ b/src/php/tests/unit_tests/SecureEndToEndTest.php
@@ -37,17 +37,11 @@
                           $deadline);
     $tag = 1;
     $this->assertEquals(Grpc\CALL_OK,
-                        $call->start_invoke($this->client_queue,
-                                            $tag,
-                                            $tag,
-                                            $tag));
+                        $call->invoke($this->client_queue,
+                                      $tag,
+                                      $tag));
     $server_tag = 2;
 
-    // the client invocation was accepted
-    $event = $this->client_queue->next($deadline);
-    $this->assertNotNull($event);
-    $this->assertEquals(Grpc\INVOKE_ACCEPTED, $event->type);
-
     $call->writes_done($tag);
     $event = $this->client_queue->next($deadline);
     $this->assertNotNull($event);
@@ -113,18 +107,12 @@
                           $deadline);
     $tag = 1;
     $this->assertEquals(Grpc\CALL_OK,
-                        $call->start_invoke($this->client_queue,
-                                            $tag,
-                                            $tag,
-                                            $tag));
+                        $call->invoke($this->client_queue,
+                                      $tag,
+                                      $tag));
 
     $server_tag = 2;
 
-    // the client invocation was accepted
-    $event = $this->client_queue->next($deadline);
-    $this->assertNotNull($event);
-    $this->assertEquals(Grpc\INVOKE_ACCEPTED, $event->type);
-
     // the client writes
     $call->start_write($req_text, $tag);
     $event = $this->client_queue->next($deadline);