mc-account set sip0 string:local-ip-address=10.x.x.x
Thank's for the tip. FYI, I've setup my openvpn network scripts to do this automatically for me. In my case, I only have one VPN connection, and only one SIP server I ever wish to talk to; as such, this may not be applicable to more complex setups.
/etc/network/if-up.d/openvpn:
#!/bin/sh
OPENVPN=/etc/init.d/openvpn
if [ ! -x $OPENVPN ]; then
exit 0
fi
if [ -n "$ICD_CONNECTION_ID" ]; then
$OPENVPN restart $IF_OPENVPN
sleep 5
VPN_INT="tun0"
VPN_IP=`ifconfig $VPN_INT 2> /dev/null | sed -n 's/.*inet[adr: ]*\([0-9]*\.[0-9]*\.[0-9]*\.[0-9]*\).*/\1/p'`
mc-account set sip0 string:local-ip-address=$VPN_IP
fi
NOTE: I'm using "restart" instead of "start" to avoid problems caused by two openvpn instances running (one started at boot, one started when the wlan interface comes up)
Nice! I am thinking into something like your script but to have it run ONLY when openvpn runs... Otherwise I need the local-ip to be kept to the wlan0, since it won't work for me inside mi corporate LAN.
I just used a part of the script and was able to get it working calling them with the up and down openvpn params! Now it connects to the OPenVPn server with the aid of the Openvpn Applet and assigns the tun0 ip to the sip0 account (useful since I also have yahoo, msn, etc) and when the vpn closes reverts the ip to the wlan0!