Asterisk 1.8 support
Flashphoner has tested with Asterisk 1.6.x and many other VoIP gateways.
There is one specific issue with Asterisk 1.8.x
Asterisk 1.8 uses symbol ":" in SIP call ids. It appears in SIP2Flash calls(incoming calls) via Asterisk 1.8.
Wowza Media Server does not support this symbol as part of stream name. It causes errors.
Solution:
Use custom SipMessageListener, which replaces symbol ":" to unique symbols sequence for incoming SIP messages and replaces unique symbols sequence to symbol ":" for outgoing SIP messages.
So, you should:
- Download jar-file with custom SipMessageListener here http://flashphoner.com/downloads/patches/asterisk181-patch.jar and copy this jar-file into WowzaMediaServer/lib dir.
- Configure SipMessageListener in the flashphoner.properties file:
sip_msg_listener=com.flashphoner.app.ChangeCallIdListener
- Restart server.
Building ChangeCallIdListener from source code
package com.flashphoner.app; import com.flashphoner.sdk.sip.ISipMessageListener; import gov.nist.javax.sip.header.CallID; import gov.nist.javax.sip.message.SIPMessage; import java.text.ParseException; public class ChangeCallIdListener implements ISipMessageListener { public ChangeCallIdListener() { } public void processMessage(SIPMessage sipmessage) { CallID callid = (CallID)sipmessage.getHeader("Call-ID"); String s = callid.getCallId(); if(s.indexOf(":") != -1) s = s.replaceAll(":", "AbCdEfGh"); else if(s.indexOf("AbCdEfGh") != -1) s = s.replaceAll("AbCdEfGh", ":"); try { callid.setCallId(s); } catch(ParseException parseexception) { parseexception.printStackTrace(); } } private final String COLON_SUNSTITUTION = "AbCdEfGh"; }
See also: