Я практикую sip-сценарии, основанные на sip-сервлетах mobicents. У меня есть Restcomm-JBoss-AS7-8.2.0.1221 и на нем развернуто собственное sip-приложение (приложение restcomm отключено). Я столкнулся с проблемой при включении безопасности jboss. Что я сделал:
1.Создайте sip-servlets-roles.properties
admin=caller
2.Создать sip-servlets-users.properties (для пользователя alice, домен 192.168.56.101, пароль 1234)
admin=6f8002e56ee173a3a39144ea90d18a39
3. Поместите вышеуказанные файлы в ../Restcomm-JBoss-AS7-8.2.0.1221/standalone/configuration.
4. Разверните sip-приложение с помощью sip.xml
<security-constraint>
<display-name>REGISTER Method Security Constraint</display-name>
<resource-collection>
<resource-name>SipServletApp</resource-name>
<description>Require authenticated REGSITER requests</description>
<servlet-name>SipServletApp</servlet-name>
<sip-method>REGISTER</sip-method>
</resource-collection>
<auth-constraint>
<role-name>caller</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>DIGEST</auth-method>
<realm-name>192.168.56.101</realm-name>
</login-config>
5.standalone-sip.xml не изменился
<security-domain name="sip-servlets">
<authentication>
<login-module code="UsersRoles" flag="required">
<module-option name="usersProperties" value="${jboss.server.config.dir}/sip-servlets-users.properties"/>
<module-option name="rolesProperties" value="${jboss.server.config.dir}/sip-servlets-roles.properties"/>
<module-option name="hashAlgorithm" value="MD5"/>
<module-option name="hashEncoding" value="RFC2617"/>
<module-option name="hashUserPassword" value="false"/>
<module-option name="hashStorePassword" value="true"/>
<module-option name="passwordIsA1Hash" value="true"/>
<module-option name="storeDigestCallback" value="org.jboss.security.auth.callback.RFC2617Digest"/>
</login-module>
</authentication>
</security-domain>
6. Попробуйте зарегистрировать пользователя alice с помощью zoiper wireshark trace.
7. Включение уровня трассировки и ошибка в журналах jboss
14:14:10,140 DEBUG [org.jboss.security] (Restcomm-SIP-Servlets-UDPMessageChannelThread-44) PBOX000206: Login failure: javax.security.auth.login.LoginException: java.lang.NullPointerException
at org.jboss.security.auth.spi.Util.createPasswordHash(Util.java:424)
at org.jboss.security.auth.spi.UsernamePasswordLoginModule.createPasswordHash(UsernamePasswordLoginModule.java:450)
at org.jboss.security.auth.spi.UsernamePasswordLoginModule.login(UsernamePasswordLoginModule.java:280)
...
8.DAR настроен на мое sip-приложение
Итак, вопрос в том, что не так с этой конфигурацией?