WordPress Menu Exchange for Mobile Layout

There isn’t an is_mobile() function to my knowledge. WordPress uses a wp_is_mobile() which is probably what you’re looking for. So it should look like this:

<?php if ( wp_is_mobile() ) { wp_nav_menu( array('menu' => 'mobile' ) ); } else { wp_nav_menu( array('menu' => 'primary' ) ); }; ?>

EDIT

After reviewing your question further it seems like you have a plugin installed to browser sniff for you. It does look like it uses is_mobile() but since I am unfamiliar with the plugin I would suggest going vanilla with wp_is_mobile() instead of using a plugin, who knows what could be wrong with the plugin or if the plugin is compatible with your installation.

FINAL EDIT

It turns out according to OP that the menu names were not matching.