Bhè direi che ti sei risposto. Come ho spiegato prima a @nclmrc quella regola significa che tutti i server dns ottenuti automaticamente via dhcp/ipcp/altro dalle interfacce in /etc/config/network su cui hai impostato dnsset 'voip' vengono raggiunti attraverso la policy con quel nome.
Ti chiedo scusa ma non ti seguo. Se io ho questo:
config policy 'if1_mwan'
option interface 'wan'
config rule 'lan_if1'
option policy 'if1_mwan'
option src 'lan'
ed in /etc/config/network non ho impostato dnsset 'voip' per l'interfaccia wan, perché il tutto mi manda ko i dns, ossia perché i miei dispositivi nella rete non sono più in grado di utilizzare i dns del router?
mentre funge tutto con:
config policy 'wan_only'
option interface 'wan'
config rule 'lan_wan'
option policy 'wan_only'
option src 'lan'
edit2:Di sicuro, ma lo avevamo già appurato. Se mmpbx apre il socket mentre c'è solo una rotta valida (quella corretta) il problema non si presenta. Se apre il socket e poi le altre rotte valide finiscono nella tabella, allora va in crisi. Se elimini la regola hostvoip, mmpbx viene esonerato dal passare attraverso il wrapper di mwan all'apertura del socket, ma non hai più alcuna garanzia sul fatto che usi l'una o l'altra wan. E' una situazione abbastanza sfigata, perchè lo scenario in cui hai due wan dati ed mmpbx in esecuzione sullo stesso host in cui gira mwan e con l'sip che assegna lo stesso gw a tutte le sessioni è decisamente singolare. Dimmi una cosa, ma a prescindere dall'ordine con cui avvii le interfacce, se lasci che si avviino, poi riavvii mwan e poi riavii mmpbx hai comunque l'errore?
Si, in effetti prima ho detto una grande fesseria, nei giorni scorsi avevo appurato che se ad esempio do in ordine i seguenti comandi aspettando che ogni interfaccia si avvii correttamente:
ifup wan
ifup wan2
e po do:
/etc/init.d/mmpbxd reload
allora il voip non si registra lo stesso.
Ho anche appena verificato la rotta:
ip route get xx.xx.xx.xx
xx.xx.xx.xx.xx via 192.168.100.1 dev pppoe-wan src yy.yy.yy.yy.yy
cache
xx.xx.xx.xx = IP proxy Voip
yy.yy.yy.yy = ip pubblico wan
che è corretta, perché quindi non vuole andare? -.-"
Hai qualche idea di come verificare che combina mmpbx e perché si ubriaca? O credi che mi convenga lasciar perdere ed accontentarmi del mio workaround?
#POSTEDIT
Ho anche appena provato come mi hai suggerito, quindi:
ifup wan
ifup wan2
/etc/init.d/mwan restart
/etc/init.d/mmpbxd reload
ed anche in questo caso il voip non si registra.