我将把这个问题扔到海里,因为这个项目太老了,现在没人用了。如果没有人能回答,我就删掉这个帖子。
我正在尝试将 Aterisk 与 zanzibar 集成。我几乎没有成功,因为我的 asteriskConnector.sh 已连接到我的 Aterisk。我成功启动了我的 cairo 服务器(rserver、接收器和发送器),我的 Aterisk 安装运行正常。
我已经尝试查看 sourceforge 讨论,看看是否有人遇到了同样的问题,但没有结果。
然而,当我尝试拨打电话(使用正确的分机号)以尝试 Parrot 演示时,我的 rserver.sh 显示此错误:
Could not process invite request.
Could not process invite.java.rmi.RemoteException: Method is not Remote: interface org.speechforge.cairo.sip.SipResource::public abstract org.speechforge.cairo.sip.SdpMessage org.speechforge.cairo.sip.SipResource.invite(org.speechforge.cairo.sip.SdpMessage,java.lang.String) throws org.speechforge.cairo.sip.ResourceUnavailableException,java.rmi.RemoteException
java.rmi.RemoteException: Method is not Remote: interface org.speechforge.cairo.sip.SipResource::public abstract org.speechforge.cairo.sip.SdpMessage org.speechforge.cairo.sip.SipResource.invite(org.speechforge.cairo.sip.SdpMessage,java.lang.String) throws org.speechforge.cairo.sip.ResourceUnavailableException,java.rmi.RemoteException
at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:232)
at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:180)
at com.sun.proxy.$Proxy1.invite(Unknown Source)
at org.speechforge.cairo.server.resource.ResourceServerImpl.invite(ResourceServerImpl.java:189)
at org.speechforge.cairo.server.resource.ResourceServerImpl.processInviteRequest(ResourceServerImpl.java:225)
at org.speechforge.cairo.sip.SipListenerImpl.processInvite(SipListenerImpl.java:446)
at org.speechforge.cairo.sip.SipListenerImpl.processRequest(SipListenerImpl.java:123)
at gov.nist.javax.sip.EventScanner.deliverEvent(EventScanner.java:223)
at gov.nist.javax.sip.EventScanner.run(EventScanner.java:492)
at java.lang.Thread.run(Thread.java:750)
在我的 asteriskConnector.sh 中我收到以下错误:
Got an invite request
Received an unhandled SIP response status code (ignoring it): 183 : Session progress
Invite Response not ok
Got a dialog terminated event
我无法确定为什么会出现这个问题。有人能告诉我为什么它不接受邀请吗?
我在同一个 ubuntu 设备上运行 asterisk 和 zanzibar。
这是我的设置:
[general]
langage=fr
allow=alaw
allow=ulaw
context=labo
[zanzibar]
type=peer
port=5090
host=192.168.142.7
secret=zanzibar
dtmfmode=info
canreinvite=no
管理器配置文件
[general]
enabled=yes
port=5038
bindaddr=0.0.0.0
[zanzibar]
secret=zanzibar
permit=0.0.0.0/0.0.0.0
read=system,call,log,verbose,agent,command,user
write=system,call,log,verbose,agent,command,user
扩展配置文件
[general]
[labo]
exten => 999,1,Answer
exten => 999,n,SIPAddHeader(x-channel:${CHANNEL})
exten => 999,n,SIPAddHeader(x-application:beanId|Parrot)
exten => 999,n,Dial(SIP/zanzibar)
exten => 999,n,Hangup
还有我的 pbxconfig.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <beans>
<bean id="main" class="org.speechforge.zanzibar.server.SpeechletServerMain" init-method="startup" destroy-method="shutdown"> </bean>
<bean id="sipService" class="org.speechforge.zanzibar.sip.SipServer" init-method="startup" destroy-method="shutdown"> <property name="dialogService"><ref bean="dialogService"/></property> <property name="mySipAddress">
<value>sip:[email protected]</value> </property> <property name="stackName">
<value>Zanzibar Sip Stack</value> </property> <property name="port">
<value>5090</value> </property> <property name="transport">
<value>UDP</value> </property> <property name="cairoSipAddress">
<value>sip:[email protected]</value> </property> <property name="zanzibarHostName">
<value>192.168.142.7</value> </property> <property name="cairoSipHostName">
<value>192.168.142.7</value> </property> <property name="cairoSipPort">
<value>5050</value> </property>
<property name="mode"> <value>mrcpv2</value> </property> <!--property name="baseRtpPort"--> <!--value>42050</value--> <!--/property--> <property name="maxConnects"> <value>50</value> </property> </bean>
<bean id="dialogService"
class="org.speechforge.zanzibar.speechlet.ApplicationBySipHeaderService"
init-method="startup" destroy-method="shutdown">
<property name="instrumentation">
<value>false</value>
</property>
<property name="cloudUrl">
<value>http://spokentech.net/speechcloud</value>
</property>
<property name="tempDirForPrompts">
<value>c:/temp/</value>
</property> </bean>
<bean id="callControl" class="org.speechforge.zanzibar.asterisk.CallControl" init-method="startup" destroy-method="shutdown"> <property name="address">
<value>192.168.142.7</value> </property> <property name="name">
<value>zanzibar</value> </property> <property name="password">
<value>zanzibar</value> </property> <property name="disabled">
<value>false</value> </property> </bean> <bean id="Parrot"
class="org.speechforge.apps.demos.Parrot"
singleton="false">
<property name="prompt">
<value>You can start speaking any time. Would you like to hear the weather, get sports news or hear a stock quote? Say goodbye to exit.</value> </property> <property name="grammar">
<value>file:../../demo/grammar/example-loop.gram</value> </property> </bean>
<bean id="dtmfDemo"
class="org.speechforge.apps.demos.DTMFDemo"
singleton="false">
<property name="prompt">
<value>You can press any four digit extension on your keypad. Say goodbye to exit.</value> </property> <property name="grammar">
<value>file:../../demo/grammar/demo-dtmf.gram</value> </property> </bean>
<bean id="callTransferDemo"
class="org.speechforge.apps.demos.CallXferDemo"
singleton="false">
<property name="prompt">
<value>Would you like to speak to Larry, Moe or Curly? You can press any four digit extension on your keypad. Say goodbye to exit.</value> </property> <property name="grammar">
<value>file:../../demo/grammar/callxfer-demo.gram</value> </property>
<property name="pbxContext">
<value>stooges</value> </property> </bean>
<bean id="Jukebox"
class="org.speechforge.apps.demos.Jukebox"
singleton="false">
<property name="firstPrompt">
<value>Hi. Welcome to the speechforge Jukebox. What would you like to hear Bob Dylan, Radiohead, Amy Winehouse, Rolling Stones</value> </property> <property name="laterPrompts">
<value>Welcome back. What would you like to hear next, Bob Dylan, Radiohead, Amy Winehouse, Rolling Stones</value> </property>
<property name="greetingGrammar">
<value>file:../../demo/grammar/jukeboxWelcome.gram</value> </property>
<property name="playGrammar">
<value>file:../../demo/grammar/jukeboxPlay.gram</value> </property> <property name="dylan">
<value>file:../../../audio/jukebox/03RollinandTumblin.au</value> </property> <property name="amy">
<value>file:../../../audio/jukebox/11YouKnowImNoGoodRemix.au</value> </property> <property name="stones">
<value>file:../../../audio/jukebox/01FancyManBlues.au</value> </property> <property name="radiohead">
<value>file:../../../audio/jukebox/08HouseofCards.au</value> </property> </bean>
<bean id="implementationplatform"
class="org.speechforge.zanzibar.jvoicexml.impl.MrcpImplementationPlatform"
singleton="false"> </bean>
<bean id="jvoicexmlcore"
class="org.speechforge.zanzibar.jvoicexml.impl.MrcpJVoiceXMLCore"
singleton="false"> </bean> <bean id="documentserver" class="org.jvoicexml.documentserver.JVoiceXmlDocumentServer"> <property name="schemeStrategies"> <list>
<bean
class="org.jvoicexml.documentserver.schemestrategy.MappedDocumentStrategy" />
<bean
class="org.jvoicexml.documentserver.schemestrategy.FileSchemeStrategy" />
<bean
class="org.jvoicexml.documentserver.schemestrategy.HttpSchemeStrategy" /> </list> </property> </bean>
<bean id="grammarprocessor" class="org.jvoicexml.interpreter.grammar.JVoiceXmlGrammarProcessor"> <property name="grammaridentifier"> <bean
class="org.jvoicexml.interpreter.grammar.GrammarIdentifierCentral">
<property name="identifier">
<list>
<bean
class="org.jvoicexml.interpreter.grammar.identifier.SrgsXmlGrammarIdentifier" />
<bean
class="org.jvoicexml.interpreter.grammar.identifier.SrgsAbnfGrammarIdentifier" />
<bean
class="org.jvoicexml.interpreter.grammar.identifier.JsgfGrammarIdentifier" />
</list>
</property> </bean> </property> <property name="grammartransformer"> <bean
class="org.jvoicexml.interpreter.grammar.GrammarTransformerCentral">
<property name="transformer">
<list>
<bean
class="org.jvoicexml.interpreter.grammar.transformer.SrgsXml2JsgfGrammarTransformer" />
<bean
class="org.jvoicexml.interpreter.grammar.transformer.Jsgf2JsgfGrammarTransformer" />
<bean
class="org.jvoicexml.interpreter.grammar.transformer.SrgsXml2SrgsXmlGrammarTransformer" />
</list>
</property> </bean> </property> </bean>
</beans>