This line is incorrect.  The intent of the #receive_bye method is to allow the remote end to hang up the call.  If you want to request a BYE we need a new method.